← ExcelToQR generator
Home › Guides › Employee ID QR codes

QR codes for employee ID badges

If your staff list already lives in a spreadsheet, you are one upload away from a QR code for every employee. The technical part takes minutes. The part worth slowing down for is deciding what actually goes inside each code — because a QR code on a badge is readable by anyone who can point a phone at it.

Generate employee QR codes →

Encode the ID, not the person

The single most important rule: encode an identifier, not personal data.

A QR code has no access control. It is not encrypted, it cannot be locked, and it does not know who is scanning it. Anyone who photographs a lanyard across a coffee shop table gets everything inside that code. An employee ID such as E-1042 is useless to a stranger but lets your own systems resolve the full record instantly. That single design choice is what separates a safe badge from a data leak clipped to someone's shirt.

Never encode: home address, personal phone number, date of birth, national insurance or social security number, salary or grade, emergency contact details, or anything that would appear in a personnel file. If a printed badge were photographed and posted publicly, nothing in the code should cause harm.

A sensible default

For most organisations, encoding the employee ID column alone is correct. Add name and department only when there is a real reason — for example, when reception staff scan a badge and need to see who the visitor is without access to the HR system.

Preparing the staff spreadsheet

HR exports are usually far wider than a badge needs. Before uploading, cut the file down to the columns that belong on a badge. This is good practice regardless: the fewer sensitive columns present, the smaller the chance one gets ticked by accident.

Column Keep? Encode in QR?
Employee ID Yes Yes — this is the payload
Full name Yes — printed on the badge Optional
Department Yes — printed on the badge Optional
Job title Optional No
Salary, address, DOB Remove before upload Never

Choosing the format for attendance systems

If a person reads the badge, Normal format is fine. If software reads it — a turnstile, an attendance app, a visitor management system — choose JSON.

The reason is practical. Pipe-separated text like E-1042 | Priya Sharma | Finance forces whatever consumes the scan to split the string and assume the second fragment is the name. The moment someone has a pipe character in their name, or a field is blank, that assumption breaks. JSON output such as {"Employee ID":"E-1042","Department":"Finance"} stays addressable by key and survives blank fields without shifting everything along by one.

From spreadsheet to printed badge

  1. Export your staff list to .xlsx with field names in row 1 and one employee per row.
  2. Trim the columns down to badge-relevant fields.
  3. Upload it and tick the employee ID column (plus name and department if needed).
  4. Generate — you get the workbook back with a QR Code column holding one image per employee.
  5. Mail-merge that file into your badge template in Word, Publisher or your card printer's software. Because the codes are images anchored to rows, each badge picks up the right code automatically.

Printing badges that scan first time

Handling leavers and reprints

Deactivate the ID in the system that reads the codes; do not try to invalidate the badge itself. A printed QR code cannot be changed or revoked, so the only meaningful control point is the lookup on your side. When an employee leaves, their ID stops resolving and the printed code becomes inert.

This is another argument for ID-only codes. If you had encoded a name and department, a lost badge would still be leaking that information long after the person left.

Frequently asked questions

What data should go in an employee QR code?

In most cases the employee ID alone. The ID is meaningless to an outsider but lets your own systems look up the full record. Add name and department only if people need to read the badge by scanning it.

Is it safe to put personal details in a QR code?

No. A QR code is not encrypted or access controlled — anyone with a phone can read it. Never encode home addresses, personal phone numbers, dates of birth, national insurance or social security numbers, or salary information.

Can employee QR codes be used for attendance tracking?

Yes. Encode the employee ID and have your attendance app record the ID with a timestamp at scan time. Using JSON format keeps the ID cleanly separated from any other encoded field.

How big should the QR code be on a badge?

At least 2 by 2 cm on a standard CR80 badge. Keep the encoded text short, because fewer characters produce a lower-density code that scans reliably at small sizes.

What happens when an employee leaves?

Deactivate the ID in the system that reads the codes rather than trying to change the badge. This is the main reason to encode an ID rather than personal details — access is revoked centrally and the printed code becomes inert.

Upload your staff list →