A headcount and an actual roster are different questions, and the code that answers one rarely answers the other. A single QR code posted at a door and shared by everyone gives a dynamic scan total, a reasonable sense of turnout but nothing tied to a name.
A real roster needs one code per attendee, printed individually on a badge or ticket and checked against a list inside event or attendance software, since MakeQR only produces the codes and never does the matching. Classrooms, workshops, staff clock-ins and events all pick between the two before printing anything.
Setting up an attendance code
Decide what you actually need to know
A rough number of people who showed up, or a list of exactly who did. The first needs one code; the second needs one code per person and a roster system to check against.
For a headcount, make one dynamic code
Post it at the entrance or on a screen. Its scan count is a running total for as long as the event lasts, viewable in your MakeQR account.
For a roster, bulk-generate one code per attendee
Export a list of names or IDs as a CSV, generate up to 1,000 codes per batch, and print each as a badge, wristband or ticket tied to one specific person.
Test the scan at the actual check-in point
Lighting at a door, a registration desk or a classroom entrance varies. Scan a sample badge from the real distance and angle before the event starts.
A shared headcount versus a per-person roster
A single shared code cannot tell you who scanned it, only how many times it was scanned and, on paid plans, roughly when and on what kind of device. It undercounts anyone who does not scan and can overcount if the same code gets scanned more than once by the same person or a friend covering for someone. For a real attendance record, print a distinct code per person instead, and let your existing attendance, HR or event software match each scan to that person's entry.
What MakeQR does and does not do here
MakeQR generates the codes and, for dynamic ones, counts scans and their device type. It does not run check-in software, does not know who is standing in front of the scanner, and cannot stop someone from screenshotting a badge code and handing it to someone else to scan on their behalf. Matching a scanned code to a name, and catching that kind of misuse, is the job of whatever system you point the scanning device at.
Recurring classes and events
A weekly class or a recurring meetup can reuse the same shared dynamic code every session if a rough weekly count is enough, since its scan count simply keeps accumulating unless you reset it by making a new code. For sessions that need separate counts, use a new dynamic code each week; the first two dynamic codes stay free forever.
What an attendance code contains
A shared code usually just points at a short MakeQR link with nothing else attached. A per-person code typically holds a plain attendee or employee ID as text, which your roster software looks up after the scan. Neither carries a name, photo or any personal detail by itself unless you put one in as plain text.
ATT-2026-00417Where attendance codes get scanned
Door signage for a shared headcount code works well at 40 to 60 mm, scanned from about 40 to 60 cm away as people pass. A per-person badge or lanyard tag can be smaller, around 20 to 25 mm, since it is usually held up close at a check-in desk.
Print it at least 20 mm (2.0 cm) wide
Why attendance counts come out wrong
Treating a shared scan count as a roster
A shared code's total tells you how many scans happened, not who was there or whether everyone scanned once. Use per-person codes if names matter.
No plan for a phone without a working camera
Some attendees will have a broken camera, a dead phone or simply forget theirs. Have a manual sign-in as a backup rather than turning anyone away.
Printing badges without testing the check-in scanner
A badge that looks fine on screen can still fail against the specific scanner or lighting at the door. Test a real badge at the real entrance before the event.
Static or dynamic for attendance
A per-person badge printed for a single event is usually static: it never needs to change, and it is free with no account.
A shared door code for a recurring class or event is a better fit for dynamic, since its scan count accumulates in your account across the sessions it is used for, and it can be swapped for a fresh code whenever you want a clean count.
How dynamic QR codes workWhere attendance codes get used
- A workshop posts a shared code at the door for a rough headcount by end of day.
- A conference prints a unique badge code per registrant, scanned against the ticketing system at entry.
- A teacher has students scan a classroom door code each morning as an informal check-in.
- A staff break room uses a shared code alongside a sign-in sheet as a backup count.