How to generate 100,000 QR codes in one production job
At 100,000 files, the architecture matters: the browser should not hold the whole dataset or archive in memory.
For unique-code campaigns, events, labeling, inventory and packaging with tens of thousands of variants.
- Parallel backend generation
- Streamed ZIP64
- Real progress tracking
- SVG for high throughput
- Deterministic filenames
A clear path from source data to QR assets
1. Pick the source
Use automatic series or a bulk-friendly input file.
2. Prefer SVG when possible
Vector output often lowers rendering cost compared with large PNGs.
3. Start the job
Python builds the archive while the browser tracks real progress.
4. Validate samples
Check references from the beginning, middle and end of the batch.
Automatic-series example
A simple example showing how source data stays linked to the generated QR asset.
| Index | Payload | File |
|---|---|---|
1 | https://example.com/t/000001 | qr_000001.svg |
100000 | https://example.com/t/100000 | qr_100000.svg |
Why 100,000 is different from 1,000
Building a huge JavaScript array and ZIP in browser memory does not scale well.
MassQR delegates the work to the backend and streams the archive.
Actual speed depends on CPU, format and payload size, so MassQR reports measured progress rather than fake ETA.
Frequently asked questions
Can 100,000 QR codes live in one ZIP?
MassQR uses ZIP64 and streaming suitable for large batches. Final size depends on format and payload.
Why is SVG faster?
SVG avoids some of the high-resolution raster work required by PNG generation.