QR Batch Generator
Generate named QR images from pasted rows or CSV/TXT files, then catch capacity and scan-readiness risks before downloading the batch.{{ summaryTitle }}
{{ summaryLine }}
{{ summaryAnnouncement }}
{{ imageSetExportStatus }}
| # | Filename | Type | Bytes | Version | Capacity used | Status | Copy |
|---|---|---|---|---|---|---|---|
| {{ row.index }} | {{ row.filename }} | {{ row.type_label }} | {{ row.bytes }} | V{{ row.version }} | {{ formatPercent(row.utilization) }} | {{ row.status }} |
{{ ledgerExportStatus }}
| Row | Score | Status | Main finding | Next action | Copy |
|---|---|---|---|---|---|
| {{ row.filename }} | {{ row.readiness_score }}/100 | {{ row.status }} | {{ row.finding }} | {{ row.action }} |
{{ auditExportStatus }}
{{ chartExportStatus }}
The chart renderer is unavailable. The same readiness rows remain available in the ledger and audit.
A QR symbol has to survive the physical place where it will be scanned. A code that works at full size on a bright monitor may fail after it is shrunk onto a label, printed on a dark surface, viewed through glare, or partly covered. Batch generation adds another risk: the wrong payload can be paired with a convincing filename and repeated hundreds of times.
The payload is the exact text a scanner returns. It may be a web address, Wi-Fi setup string, email action, phone number, contact card, calendar event, coordinate, or plain identifier. A name beside that payload is for batch organization; it is not encoded unless it is part of the payload itself.
QR size is measured in modules, the small dark and light squares that form the grid. Version 1 has 21 modules per side, and each higher version adds four modules per side until Version 40 reaches 177. Longer payloads and stronger error correction can require a higher version. At a fixed image width, a higher version makes each module smaller.
| Choice | Benefit | Tradeoff |
|---|---|---|
| Error correction | Helps recover data when part of a symbol is dirty or damaged. | Higher levels leave less payload capacity at the same version. |
| Quiet zone | Gives the scanner a clear border around the symbol. | Reducing the four-module margin may save space but weakens detection. |
| Image size | Larger output gives each module more pixels. | The correct size still depends on version, printer, surface, distance, and camera. |
| Custom styling | Can match a visual system. | Low contrast or decorative modules can reduce readability. |
Error correction cannot repair a wrong destination, expired link, exposed password, or misleading label. A readiness score can help triage a batch, but only scan tests on representative exported files and the final medium can show whether the complete workflow works. For large runs, keep a ledger that lets a reviewer trace every filename back to its exact payload.
How to Use This Tool:
Name each payload clearly, choose one shared QR design, and resolve weak rows before downloading the image set.
- Paste one payload per line or use
name,payloadrows for predictable filenames. CSV and TXT files up to 512 KiB can be read into Payload rows. - Choose Error correction. Level Q is a print-balanced starting point; use a different level only after considering payload length, likely damage, and final symbol size.
- Set the ZIP image format, square Image size from 128 through 1,400 pixels, and a short filename prefix.
- Keep the Quiet zone at four modules and choose a dark foreground on a light background. Treat dot and finder styles as design changes that require fresh scan tests.
- Turn on Skip duplicate payloads when repeats are accidental. Leave it off when separate named assets intentionally point to the same payload.
- Review the Payload ledger and Readiness audit. Fix blocked rows first, then scan-test representative low-score, long-payload, and styled symbols before downloading the ZIP.
Interpreting Results:
Robust and Balanced rows count as ready in the batch summary. Review points to a weaker combination of density, color contrast, quiet zone, error correction, or other findings. Blocked means the payload is empty, exceeds the supported Version 40 byte capacity, or has a score below 50.
The score is a release-review heuristic, not a probability of successful scanning. Check the finding and next action for each weak row. Then scan the exported file after it has been printed, resized, laminated, mounted, or displayed in the real environment.
Technical Details:
Each nonblank row is parsed into a source name and payload. A recognized header can map name, filename, label, ID, payload, URL, content, or data columns. Without a header, a first cell that does not look like a payload becomes the name and the remaining cells become the payload.
Lookup Core
Payload length is counted as UTF-8 bytes. For the selected error-correction level, the estimated version is the smallest Version 1 through 40 whose byte-mode capacity is at least that byte count. A row above the Version 40 limit is not exportable.
| Error correction | Version 1 capacity | Version 40 capacity |
|---|---|---|
| L | 17 bytes | 2,953 bytes |
| M | 14 bytes | 2,331 bytes |
| Q | 11 bytes | 1,663 bytes |
| H | 7 bytes | 1,273 bytes |
The ledger reports estimated version, capacity at that version, and utilization. Mixed character modes can encode differently in other QR software, so these byte-mode figures should be read as the generator's consistent planning model rather than a universal capacity claim for every encoder.
Formula Core
Capacity utilization compares payload bytes with the byte capacity of the estimated version.
The readiness score is the rounded weighted sum of capacity, contrast, quiet-zone, and error-correction components.
C is capacity headroom, K is foreground/background contrast, Q is quiet-zone coverage, and E is the error-correction component. The exact component rules are:
| Component | Rule |
|---|---|
| Capacity | 100 at utilization at or below 70%; falls linearly to 76 from above 70% through 90%; falls linearly to 40 from above 90% through 100%. A payload above Version 40 capacity receives an overall score of 10. |
| Contrast | 100 at a contrast ratio of 7:1 or higher; rises linearly from 76 to 100 between 4.5:1 and 7:1; below 4.5:1 it scales from 0 to 76. |
| Quiet zone | min(100, modules ÷ 4 × 100); four or more modules receive 100. |
| Error correction | L = 62, M = 76, Q = 90, H = 100. |
Contrast uses relative luminance arithmetic as a practical color warning. Its 4.5:1 and 7:1 thresholds are borrowed from text-contrast guidance; they are not QR conformance thresholds and do not replace scanning tests.
Rule Core
| Status | Exact rule |
|---|---|
| Robust | Score at least 86 and no findings |
| Balanced | Score at least 72 after the Robust rule |
| Review | Score at least 50 after the higher rules |
| Blocked | Empty or over-capacity payload, or score below 50 |
Findings are added for utilization above 92%, a www. URL without a protocol, a repeated payload, a quiet zone below four modules, or contrast below 4.5:1. ZIP export is limited to the first 1,000 valid rows, while the preview limit controls only how many symbols appear on screen.
Privacy Notes:
Pasted rows and selected CSV/TXT files are processed in the browser, and the generated images encode their payloads directly. Anyone who can scan a QR code can recover that data. Avoid embedding reusable passwords, private contact details, access tokens, or sensitive internal URLs unless the distribution and retention risks are acceptable. Opening a scanned destination is a separate network action outside generation.
Worked Examples:
Short campaign links
A set of named HTTPS links uses error correction Q, a four-module quiet zone, dark modules, and a white background. Short payloads leave ample capacity headroom, so rows without duplicates or format findings can reach Robust. Scan one exported image from each print size before producing the full run.
Same destination, different signs
Front-desk and lobby rows intentionally carry the same URL. With duplicate skipping off, both filenames remain and the second row receives a duplicate finding. With it on, the first row is retained and the later payload is omitted. Choose the behavior based on whether separate physical assets must remain traceable.
References:
- ISO/IEC 18004:2024 QR code bar code symbology specification, International Organization for Standardization, August 2024.
- Point for determining the code area, DENSO WAVE.
- Understanding Success Criterion 1.4.3: Contrast (Minimum), W3C Web Accessibility Initiative.