What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Direct answer: create a unique identifier for each registration or ticket, encode that identifier (or a check-in URL containing it) in a QR code, deliver the code with the attendee’s ticket, and validate it on every scan before recording check-in. A QR image is only a data container; it does not by itself prove that a registration is valid or prevent reuse.
The safest design keeps personal information out of the QR payload. Put a random ticket secret or opaque ID in the code, resolve it on your server, verify its event and status, then record the result. You can build this flow in Django or another framework, or use a ticketing platform with its own ticket lifecycle.
What an event QR code actually does
A QR code stores text, such as a registration ID, ticket number, secret, or URL. When a scanner reads it, your application receives that value. Your backend must then decide whether the value belongs to the event, whether the ticket is still valid, and whether it has already been used.
Microsoft’s Dynamics 365 documentation makes the boundary explicit: “When you use a QR code to link to a specific event, the QR code only provides a registration ID.” Verification and check-in require custom work in that workflow (Microsoft Learn).
#1 Best Overall
- Continuous Usage All Day: The EY-H2 USB barcode scanner is designed to always be ready for the next scan, which significantly reduces downtime and repair costs; it shortens checkout lines, improves customer service, and boosts business productivity
- Plug and Play: Eyoyo wired barcode scanner is connected via a USB cable, with no need to install any driver or software; It offers effortless connection and is compatible with Windows, Mac, Android, and Linux; Seamlessly works with Quickbook, Word, Excel, Novell, and all common software
- Supports Multiple 1D/2D Barcodes: Eyoyo QR code scanner scan with most 1D 2D barcodes with ease; 1D Barcodes: EAN, UPC, Code 39, Code 93, Code 128, UCC/EAN 128, Codabar, Interleaved 2 of 5, ITF-6, ITF-14, ISBN, ISSN, MSI-Plessey, GS1 Databar, Code 11, Industrial 25, Matrix 2 of 5, etc. 2D Barcodes: QR, DataMatrix, PDF417, and so on
- Supports Screen Scanning: The Eyoyo 2D scanner is capable of reading barcodes from smartphone screens, such as mobile coupons, digital wallets, and digital loyalty cards; Before scanning, simply turn your screen brightness to the maximum
- Sturdy Anti-Shock and Durable Design: The Eyoyo 2D barcode scanner features an ergonomic design made of high-quality ABS, enabling it to withstand repeated drops from 5 ft/1.5 m high onto the concrete ground; The durable plastic material ensures a long service life
Choose the identifier scope before generating codes
Ticket-level IDs
Use one identifier per attendee or admission. This lets a scanner admit, cancel, transfer, or refund tickets independently. Wix documents automatically assigned unique ticket numbers when tickets are created through an order (Wix Tickets API).
Order-level IDs
An order number identifies a purchase that may contain several tickets. It is useful for customer support and payment reconciliation, but it is usually too broad for a gate scanner unless your policy admits an entire order at once. Keep order and ticket identifiers as separate fields.
Random ticket secrets
A secret is an unguessable value that can be represented directly as a QR code. pretix documents a default secret made from 32 lowercase letters and numbers; that format is specific to pretix, not a universal standard (pretix ticket secrets).
Recommended data model
At minimum, store these fields for each ticket:
- event_id: the event to which the ticket belongs.
- ticket_id: an internal database key.
- public_code or secret: the opaque value encoded in the QR code.
- status: issued, canceled, refunded, or another state your business supports.
- checked_in_at and checked_in_by: the first successful scan and operator or device identity.
Do not put a name, email address, phone number, or other personal detail directly in the QR payload when an opaque reference will work. A short URL such as https://tickets.example.com/check-in/7K4... lets you change validation rules without reissuing every ticket.
Rank #2
- 【Battery Level Indicator and 2200mAh Capacity】Larger battery enables longer continuous usage and twice the stand-by time of others. With the unique battery indicator light showing the remaining battery level, no more Low Battery Anxiety.
- 【Ergonomic Design】 The curved handle is extended and thickened, tailor-made for North America customers. Specially designed smooth and flat trigger for better grip. 【Package Includes】Barcode Scanner x1, USB Cable x1, Dongle x1, User Manual x1.
- 【Anti-Shock Silicone】 The orange anti-shock silicone protective cover can avoid scratches and friction while falling from the height of 6.56 feet. IP54 technology protects the wireless barcode scanner from dust.
- 【2.4 GHz Wireless plus USB 2.0 Wired Connection】 Plug and play with the USB receiver or the USB cable, no driver installation needed. Easy and quick to set up. Wireless transmission distance reaches up to 328 ft. in barrier free environment.
- 【Digital and Printed 1D 2D QR Bar Code Symbologies】1D: Codabar, Code 11, Code93, MSI, Code 128, UCC/EAN-128, Code 39, EAN-8, EAN-13, UPC-A, ISBN, Industrial 25, Interleaved 25, Standard25, Matrix 2D: QR, DataMatrix, Aztec, Hanxin, Micro PDF417. (Note: Not compatible with Square.)
End-to-end implementation
1. Create the event and ticket definition
Define the event, entry rules, ticket types, capacity, and cancellation policy first. If you use a managed platform, use its ticket lifecycle rather than inventing a second identifier system. Wix, Zoom, and pretix each expose ticket-oriented concepts and QR-related workflows; capabilities vary by event type and integration (Zoom Events APIs).
2. Generate a unique value at issuance
Generate the value inside the registration transaction, enforce a uniqueness constraint in the database, and never derive it from a sequential count alone. A collision should fail the transaction and retry with a new value. If the platform supplies a ticket number or secret, persist that value and use it consistently in confirmation emails, PDFs, and scanner requests.
3. Encode the value or check-in URL
Encode only what the scanner needs. A URL is convenient for a phone camera; a raw secret can be better when a dedicated scanner sends the value to your check-in app. Sign or randomize the value so attendees cannot alter an ID to access another record.
4. Deliver the ticket
Place the QR code in a confirmation email, downloadable PDF, wallet pass, or your attendee portal. Wix documents email tickets, PDF downloads, and check-in QR codes. Include a human-readable ticket number as a fallback for a damaged screen or scanner failure.
Recommended Free Tools
Rank #3
- 【Battery Level Indicator and 2200mAh Capacity】Larger battery enables longer continuous usage and twice the stand-by time of others. With the unique battery indicator light showing the remaining battery level, no more Low Battery Anxiety.
- 【Ergonomic Design】 The curved handle is extended and thickened, tailor-made for North America customers. Specially designed smooth and flat trigger for better grip. 【Package Includes】Barcode Scanner x1, USB Cable x1, Dongle x1, User Manual x1
- 【Anti-Shock Silicone】 The orange anti-shock silicone protective cover can avoid scratches and friction while falling from the height of 6.56 feet. IP54 technology protects the wireless barcode scanner from dust.
- 【2.4 GHz Wireless + USB 2.0 Wired Connection】 Plug and play with the USB receiver or the USB cable, no driver installation needed. Easy and quick to set up. Wireless transmission distance reaches up to 328 ft. in barrier free environment.
- 【Digital and Printed 1D 2D QR Bar Code Symbologies】1D: Codabar, Code 11, Code93, MSI, Code 128, UCC/EAN-128, Code 39, EAN-8, EAN-13, UPC-A, ISBN, Industrial 25, Interleaved 25, Standard25, Matrix 2D: QR, DataMatrix, PDF417, Aztec, Hanxin, Micro PDF417. (Note: Not compatible with Square.)
5. Validate on every scan
Your check-in endpoint should:
- Parse and normalize the scanned value.
- Look up the ticket by its secret or ID.
- Confirm that the ticket belongs to the selected event.
- Reject canceled, refunded, expired, or unknown tickets.
- Atomically mark a valid ticket as checked in.
- Return a clear result such as accepted, already used, or invalid.
Use an atomic database update or transaction so two gates scanning the same ticket at nearly the same time cannot both accept it. The documented platforms establish the need for verification and check-in, but there is no universal anti-reuse protocol; you must define the state transition for your own system.
6. Test before opening the doors
- Scan a valid ticket for the correct event.
- Scan an unknown or tampered value.
- Scan a canceled and a refunded ticket.
- Scan the same valid ticket twice and verify the second response is “already used.”
- Test screenshots, printed tickets, low brightness, cracked screens, and weak connectivity.
- Confirm that staff can identify the ticket manually if the QR cannot be read.
Managed platform, ticket secrets, or custom code?
| Approach | What is documented | Best fit | Questions to verify |
|---|---|---|---|
| Managed ticketing platform | Wix documents unique ticket numbers and check-in URLs; Zoom documents ticket IDs and QR-code URLs for applicable hybrid or in-person events. | Teams needing a ready ticket lifecycle, attendee delivery, and operational tooling. | Does it support your event type, API, exports, revocation rules, and desired QR payload? |
| Ticket-secret workflow | pretix generates a random secret per sold product and represents it as a QR code for pretixSCAN. | Operators who want a purpose-built scanner and opaque ticket credentials. | How are secrets generated, revoked, synchronized, and integrated with your other systems? |
| Custom registration and check-in | Microsoft’s specific-event registration QR supplies a registration ID; custom verification and check-in are required. | Developers needing full control over data flow, integrations, and business rules. | How will you enforce uniqueness, secure lookup, duplicate handling, offline behavior, and support? |
Django pattern without storing QR images
You do not need to store a PNG for every ticket. Store the ticket secret and generate the QR response when an email or ticket page is rendered, or generate a data URI temporarily for a PDF. Cache generated output only if rendering cost becomes material.
A minimal model can contain a unique secret, event foreign key, status, and check-in timestamp. The registration view creates the ticket in a transaction. The check-in view performs a conditional update such as “update where secret matches, event matches, status is issued, and checked_in_at is null.” If one row changes, accept; otherwise fetch the record to distinguish unknown, wrong-event, canceled, or already-used results.
Keep QR generation separate from validation. A library creates an image; it must not be trusted to decide admission. Protect the check-in endpoint with staff authentication, audit logs, and rate limits, and use HTTPS for every scan request.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #4
- 【Unique Designed Screen Setting】It allows you to customize the screen display according to your preferences. With this innovative feature, you can easily set the language, adjust volume settings, select connection options, and view stored and total barcodes. Experience unparalleled convenience and flexibility as you personalize the settings of your Tera HW0009 to suit your specific needs. 【Package Includes: Barcode Scanner x1, Charging Cradle x1, Charging Cable x1, User Manual x1】
- 【Superior Global CMOS Imaging Scanning】This advanced scanner excels in fast and accurate reading of both ordinary and high-density barcodes, including challenging formats like PDF417 found on driver's licenses. Its exceptional performance effortlessly handles various scanning scenarios, including underwater scanning, reading barcodes on silver paper, reflective materials, and more.
- 【Charging Cradle & 2500mAh Large Battery】Designed with a convenient charging cradle, the HW0009 barcode scanner allows you to easily charge it whenever it's not in use. In addition, the scanner itself is equipped with a powerful 2500mAh battery, ensuring seamless all-day operation without the need for frequent charging.
- 【3-in-1 Connections & Widely Compatible】 Tera HW0009 wireless barcode scanner can work with bluetooth & 2.4G wireless & usb wired. The transmission distance can be 328ft in barrier free environment and 114ft in obstacles environment using 2.4G USB dongle. It can be connected with a variety of devices, such as smartphones, computers, POS, tablets. In addition, it is also compatible with various operating systems, such as windows 11/10/8/7/xp, Mac OS, iOS, android, linux.
- 【1D 2D QR code Programmable】2D: QR code, Data Matrix, PDF417(including PDF417 on driver’s license), Aztec, Maxicode, Micro QR, Micro PDF417; 1D: UPC/EAN, Code 128/EAN128, GS1-128, ISBT-128, Standard 2 of 5, Matrix 2 of 5, Code 39, Code 32, Code 93, Code 11, Codabar, PLESSEY, MSI, GSI Databar, ITF-14, GS1.
Scanning equipment and operating conditions
A phone app can be sufficient for a small event. Microsoft also documents handheld QR scanners as an option. A dedicated scanner is not mandatory, but it can be useful at a busy desk when it behaves like a keyboard and your check-in page is designed for rapid input. Provide a fallback for network outages: either a controlled offline queue with conflict resolution or a manual lookup process. Never let an offline device silently accept tickets without a reconciliation plan.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Common failures and fixes
The code scans but the ticket is rejected
Check that the scanner sends the complete value, that URL encoding has not removed characters, and that the event selected at the gate matches the ticket’s event. Log a request ID and reason code, not the attendee’s personal data.
The same ticket is accepted twice
The check-in update is probably non-atomic or the response is cached. Use a transaction or conditional update, disable caching on the validation endpoint, and return the stored first check-in time for repeat scans.
Codes are unreadable on phones
Increase contrast, leave a quiet margin around the symbol, render at sufficient size, and test both bright and dim screens. Keep the human-readable ticket number and a staff search function as a fallback.
Best Value
- 【IP66 Waterproof Dustproof Mini Pocket 2D Scanner】Just bring this scanner with you. Anytime you want to collect data, just connect it with your device via Bluetooth or use the storage mode. 【Package Includes】Barcode Scanner x1, USB Cable x1, Dongle x1, User Manual x1.
- 【Waterproof Dustproof Silicone Port Plug】Newly designed waterproof and dustproof silicone port plug on marketplace, it enables better performance of the scanner in every working conditions. The silicone button on the scanner body enables every soft and smooth scanning experience.
- 【3-in-1 Connection Ways】This scanner works with Bluetooth, 2.4GHz wireless and USB 2.0 wired mode. The transmission distance can be 656ft in barrier free environment and 98 ft in an environment with obstacles using a 2.4G USB dongle. In addition, it is also compatible with various operating systems, such as windows 11/10/8/7/xp, Mac OS, iOS, android, linux.(Note: Not Compatible with Square)
- 【Vibration Alert】: When you need a quiet working environment, just turn the volume off and the vibration function will let you know if a barcode is detected.
- 【1D 2D QR Scanner】:Supports Both Digital and Printed 1D 2D QR Bar Code Symbologies: 1D Decode Capability: Codabar, Code 11, Code93, MSI, Code 128, UCC/EAN-128, Code 39, EAN-8, EAN-13, UPC-A, ISBN, Industrial 25, Interleaved 25, Standard 25, 2/5 Matrix 2D Decode Capability: QR, PDF417, Data Matrix, Aztec code, Maxi Code.
Attendees share screenshots
A static QR can be forwarded. Require a one-time checked-in state, inspect the attendee record when policy requires it, and consider rotating or time-limited links for high-risk events. A QR code alone cannot establish identity.
Different systems use different IDs
Define one canonical ticket key and map external order, registration, and payment IDs to it. Do not encode whichever identifier happens to be available in a particular email template.
Or skip the browser setup
If you need a clean screenshot of a ticket page, confirmation page, or QR-rendering test page, ScreenshotNeo can capture it through one request. It accepts cookie and consent banners like a visitor, then removes more than 60 known consent platforms, newsletter popups, and chat widgets before the capture; each cleanup step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the page and billing result with X-Page-Verdict and X-Billed headers.
See the ScreenshotNeo documentation for all options, including full-page capture, CSS-selector element capture, device and retina settings, custom CSS or JavaScript, waits, request blocking, cookies and headers, PDF output, caching, signed links, asynchronous jobs, bulk capture, and usage reporting.
cURL
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo also provides an MCP server with take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Create a free ScreenshotNeo account.
Cost, reliability, and privacy decisions
- Generate identifiers once and store only the ticket record; QR images can be rendered on demand.
- Use database uniqueness and atomic check-in updates rather than relying on the visual code.
- Separate event selection from ticket lookup to prevent a valid code being used at another event.
- Keep logs useful but minimize personal data; a secret or internal ID is enough for most diagnostics.
- Define retention and revocation rules before tickets go on sale.
Frequently Asked Questions
Should the QR code contain the attendee’s name?
Usually no. Encode an opaque ticket ID, secret, or check-in URL and resolve attendee details on the server.
Can a QR code prevent someone from sharing a ticket screenshot?
No. Prevention depends on server-side state, identity checks where appropriate, and rejecting a ticket after its first successful check-in.
Do I need to save every QR image?
No. Save the ticket secret or ID and render the QR image when needed; store images only if caching or archival delivery requires it.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesQuick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




