Bulk QR Code Generator
Generate hundreds of QR codes from a list and download as a zip.
Filenames come from the text after the comma where you supply one, otherwise from the content itself, and duplicates are numbered automatically. Everything is rendered locally, so there is no quota — a few hundred codes is comfortable.
About this tool
Paste a list — one entry per line, or a CSV with names — and get a QR code for every row, downloadable as a single zip with sensible filenames. Built for the cases where generating codes one at a time stops being reasonable.
How to use it
- Paste your list, one URL or text value per line.
- Optionally add a comma and a filename for each row.
- Generate, preview the grid, then download the zip.
Input format and filenames
One value per line. Optionally add a comma and a filename:
https://example.com/product/1, blue-widget
https://example.com/product/2, red-widget
https://example.com/menu
Table 12 — scan to order
Filenames come from the second column where you supply one. Without it, the name is derived from the content itself, sanitised for the filesystem, falling back to a numbered sequence.
The comma is only treated as a separator when what follows looks like a filename — no spaces, not a URL. That means a line like Table 12, scan to order is kept whole as content rather than being split, which is usually what you want.
Duplicates are numbered automatically — two entries producing menu.png become menu.png and menu-2.png, so nothing is silently overwritten inside the zip.
Content is not limited to URLs. Plain text, phone numbers and WiFi strings all encode fine; a URL is just the common case.
Printing a batch
Codes generated for print have different requirements from ones displayed on screen.
Use SVG for anything printed. It is vector, so it stays razor-sharp at any physical size. A PNG sized for screen will look soft or blocky on a poster or a table card.
Minimum physical size is about 2 × 2 cm for a code scanned at normal phone distance. Longer content means a denser grid, which raises that minimum — a long URL on a small sticker will not scan. Shorten URLs before generating rather than after.
Keep the quiet zone. The blank margin around the code is part of the specification, four modules wide. Designers crop it constantly to save space, and it is the single most common reason a printed code fails to scan.
Contrast and colour. Dark on light, always. Inverting it — light code on a dark background — fails on many scanners. If you must use brand colours, keep the code itself dark and the background pale, and test on both iOS and Android before committing to a print run.
Test the actual printed article, not the screen preview. Paper stock, ink bleed and lamination all affect scanning, and a thousand unusable flyers is an expensive way to learn that.
Frequently asked questions
- How many codes can I generate at once?
- Several hundred comfortably. Everything is rendered locally, so the limit is your device's memory and patience rather than a server quota.
- How are the files named?
- From the second column if you supply one, otherwise from a sanitised version of the content itself, falling back to a numbered sequence. Names are deduplicated automatically.
- Can I customise the appearance?
- Size, colours and error correction apply to the whole batch, keeping the set visually consistent. For a one-off custom code, use the single QR code generator instead.