How to generate QR codes in bulk
- Prepare your list. One URL per line. Add an optional filename as a second column, comma-separated.
- Paste it into the box, or upload a
.csvfile. - Pick PNG or SVG, choose a size, and click Generate & download zip.
- Every QR is named after your filename column (or auto-derived from the URL).
CSV examples
Single column (filenames auto-generated):
https://example.com/p/SKU-001 https://example.com/p/SKU-002 https://example.com/p/SKU-003
With custom filenames:
https://example.com/p/SKU-001,shirt-blue-M https://example.com/p/SKU-002,shirt-blue-L https://example.com/p/SKU-003,shirt-red-M
Headers are optional — if the first row contains url or filename, it's skipped automatically.
When you'd use this
- E-commerce — product tags linking to PDP, AR view, or care instructions.
- Inventory & asset tracking — each asset gets a QR linking to its record in your system.
- Event badges — attendee-specific URLs printed on every badge.
- Marketing campaigns — distinct landing pages per channel, region, or creative.
- Restaurant & venue menus — one QR per table linking to the same menu with table parameter.
- Real estate — a code per listing that lands on the property page.
SVG or PNG — which should I pick?
SVG for anything that will be printed: product labels, badges, posters, packaging. Vector scales to any size without blur. Smaller zip too, usually.
PNG for digital use: web embeds, email campaigns, slide decks. Pick a size that matches the final display.
Tips that'll save you a reprint
- Test one code before printing 500 of them. Scan with two different phones.
- Use error correction M or Q for anything on fabric, curved surfaces, or outdoor signs.
- Mind the quiet zone — always leave white space around the QR (at least 4 modules wide).
- Avoid very long URLs. The longer the URL, the denser the QR, the harder it scans. Use a short link per row if you can.
- Print at high DPI (300+) for anything under 1 inch square.
Privacy
Every QR is generated in your browser with the open-source qrcode library. Your URLs, filenames, and resulting PNGs are never uploaded. You can even disconnect from the internet after the page loads — it'll still work.
Why is the limit 500 rows?
To keep browser memory reasonable. Most browsers handle 500 cleanly; higher volumes can crash the tab. For larger runs, split into batches or get in touch — we have an API path for volume users.
Can I use this commercially?
Yes. Every QR is free to use commercially with no watermark or attribution required.
My filenames have spaces or special characters — is that okay?
We sanitize filenames before zipping — spaces become underscores, unusual characters are stripped. If two rows produce the same filename, the second is auto-numbered (e.g., product_2.png).
Can I add a logo to every QR?
Not in the bulk tool — it keeps things fast. For logo-branded QRs, use the main generator one at a time, or reach out for API access.
Can I generate dynamic (editable) QRs in bulk?
Coming soon. Dynamic bulk generation with analytics, editing, and short URLs is planned for the paid tier.