QR Ticketing
Event QR Ticketing & Check-in
FREE · No sign-up · No server
Issue and scan event tickets, right on the spot.
Bulk-generate unique QR tickets for festivals and small events. Distribute via print, ZIP or flyer-PDF merge, then check guests in with a phone camera. Nothing is sent to a server — everything stays on your device.
No server uploads Issuing and check-in run on-device
No event set
0Issued 0Checked in 0Unused 0Void
Event info Event
Event name, date, venue and note are printed on each ticket alongside the QR and code in the Distribute tab's list print. The flyer-PDF merge overlays only the unique QR and code onto your flyer. The QR image itself contains only the token (and URL).
Issue settings Tokens
Start with a few hundred to ~2,000 depending on your browser's power. You can type up to 5,000.
Token format
Character set
Uses 31 characters, excluding easily confused ones like 0, O, 1, I, L.
When set, the QR stores 'prefix + token'. Check-in matches on the token part.
Tokens already issued. Reissuing erases all current check-in status and replaces them with new tokens.
Design Design
Foreground dot color
Background
Error correction resilience
Higher levels resist dirt and wear and stay readable even with a logo.
Center logo optional
Merge a logo / image in the center
Click or drop to select (optional)
Result Result
Nothing issued yet
Set quantity and design on the left and press 'Issue tokens' to generate unique QR tickets here.
1 / 1
Issue tokens first
Once you issue tokens in the Issue tab, you can distribute them here via print, ZIP or PDF merge.
Print layout Print
Designed for A4 portrait. Enable 'Background graphics' in the print dialog for clean borders. Margins 'none' recommended.
Preview Preview
Image ZIP ZIP
Filename
event_qr_ABCD23.png Each QR becomes a separate PNG bundled into one ZIP. Large counts take a moment to generate.
Sample Sample
Flyer PDF Flyer
Exports a PDF with unused tokens inserted from the top, one per page. You can also drag the preview to adjust the position.
Placement preview Place
Load a flyer PDF and its first page appears here
No tokens to match against
Issue tokens in the Issue tab, or sync/import from a PC in the Handover tab, then you can check guests in here.
Camera check-in Scan
Start the camera and hold a ticket QR up to it
Camera use requires browser permission. If denied, you can match by typing the code. A ~1.5s cooldown after each scan prevents repeated misreads.
Check in from the roster Roster
When the camera isn't usable, find a distributed ticket's ID here and mark it checked in with the row's button. You can also undo or void from this list.
No matching ID
Check-in status Status
Waiting to scan
Hold up a QR or type a code to match
0Checked in
0Unused
0Total issued
Check-in log Log
No check-ins yet
PC → phone sync Sync
Hand over data issued and printed on a PC to the check-in phone without any server. Scan the QR below with the check-in device's camera.
A sync QR appears here after you issue
Data size—
Sync includes the unused / used status as well.
Too large to send by QR The count is large (over ~150–200) so it won't fit in one QR. Use 'Save as JSON' below to share with the check-in device.
Sync data detectedImport to this device? Current data will be replaced.
Backup Backup
Save / restore all state (tokens, check-in status, settings) as a JSON file. Also useful for sharing to the check-in device.
Saved on this device—
Auto-saved in your normal-mode browser. Stays after closing the tab.
One-device rule
With no server sync, only the one device you handed over to holds the latest check-in status. Checking in on multiple devices at once breaks duplicate-entry detection.
Don't use private mode
Private browsing erases data when the tab closes. Always use a normal-mode browser.