A bulk QR code generator for lists and spreadsheets
This bulk QR code generator turns a whole list into QR codes in one go. Paste one value per line — links, product codes, Wi-Fi strings, UPI payment links, serial numbers — or upload a CSV exported from Excel, Google Sheets or your database and choose which column to encode. Every code is drawn in your browser; nothing is uploaded, so customer lists and payment IDs stay on your computer.
Each code can carry its own label, taken from a second column or typed after a “ | ” on the same line, and the label can be printed into the image itself so the PNGs are ready for name badges, asset tags, table tents or product packaging. Download codes one at a time, grab everything as a ZIP with an index file, or print a sheet with two to five codes per row. For one special code with a logo or Wi-Fi fields, use the single QR code generator; to check a printed code, point the QR code scanner at it.
How to use the Bulk QR Code Generator
- Choose Paste a list and type or paste your values, one per line, or choose Upload a CSV and drop in your file.
- For a CSV, pick the column with the QR content and, optionally, a label column. Untick “First row is a header” if the file has none.
- Set the image size, error-correction level, quiet zone and colours. Tick Print the label under each code to bake the label into the PNG.
- Press Generate QR codes. The preview grid shows every code with its label and value.
- Download a single PNG from any card, press Download all (ZIP) for every file plus index.csv, or pick codes per row and press Print sheet.
Bulk QR Code Generator features
List or CSV input
Paste plain lines or two spreadsheet columns, or upload comma-, semicolon- or tab-separated files with quoted fields handled correctly.
Smart column guess
The column that looks like links is pre-selected as the content and the next column as the label — change either with one click.
Labels inside the image
Optional label band under each code, sized to the image, so the PNGs can go straight onto labels and badges.
Up to 500 codes per batch
Codes are rendered from the QR matrix on demand, so even large batches stay fast and light on memory.
ZIP with an index
Every PNG is named by its position and label, and index.csv maps each file back to its value.
Printable sheet
A clean print layout with 2–5 codes per row and captions; page breaks never cut a code in half.
Preparing a CSV for QR codes
Any spreadsheet can be exported as CSV (File → Save as / Download → CSV). Keep one row per code and put the exact text to encode in one column; it is read as it is, so a link must include https:// and a UPI link must start with upi://pay?. Cells containing commas are quoted by your spreadsheet and unwrapped again here. A typical sheet:
- Tracking links: build each URL with the UTM builder first so every poster or table reports separately in your analytics.
- Shorter is better: a short link makes a less dense code that scans faster from further away.
- Labels: keep them under about 30 characters; longer labels are shortened with an ellipsis in the image but kept in full in index.csv.
| name | url |
|---|---|
| Table 1 | https://example.com/menu?t=1 |
| Table 2 | https://example.com/menu?t=2 |
| Asset A-1042 | https://example.com/assets/1042 |
Size, error correction and printing
All codes in a batch share the same settings. 512 px suits screens, documents and most labels; choose 1024 or 2048 px for posters and packaging. The quiet zone (the plain border, four modules by default) is part of the QR specification — keep it, because artwork touching the code is the most common reason a scan fails.
Error correction is Reed–Solomon redundancy built into the code. Medium (15%) is a good default; use Quartile or High for stickers that will be scuffed or anything outdoors. Higher levels add modules, so very long values may not fit at High — the tool tells you which lines were skipped.
For printing, 2–3 codes per row gives roughly 6 cm codes on A4 or Letter paper, readable from about 60 cm; 5 per row gives roughly 3.5 cm codes for small items. Scan a test page with an Android phone and an iPhone before printing hundreds.
What the ZIP contains
The ZIP holds one PNG per code, named qr-001-<label>.png, qr-002-… in the order of your list, so files sort correctly and match your spreadsheet rows. index.csv maps every file name to its value and label — handy for mail merges and label-printing software. Duplicate names get a numeric suffix rather than overwriting each other.
Bulk QR Code Generator FAQ
How many QR codes can I generate at once?
Up to 500 per batch. For bigger lists, split the spreadsheet into chunks of 500 rows; file names restart at 001 in every batch, so keep each ZIP in its own folder.
Can I make QR codes from an Excel file?
Yes — export the sheet as CSV (comma, semicolon or tab separated), upload it, and choose the column to encode. Quoted cells, commas inside cells and a header row are handled.
Can each QR code have a different label?
Yes. In list mode write the label after the value with “ | ” (value | label) or paste two spreadsheet columns; in CSV mode pick a label column. Tick “Print the label under each code” to draw it inside the PNG, or leave it unticked to keep the images plain.
Are the codes static or dynamic?
Static. The content is encoded directly in the pattern, so the codes never expire, cannot be edited after printing and are not tracked. To change a destination later, encode a link you control and redirect it on your own site.
Is my data uploaded anywhere?
No. The list, the CSV and every image are processed entirely in your browser; only the two small libraries (a QR encoder and a ZIP writer) come from a CDN.
Why were some lines skipped?
A QR code holds at most about 2,950 bytes at Low error correction and far fewer at High. Lines that do not fit are listed under the buttons — shorten them or lower the level and generate again.
Can I generate Wi-Fi, vCard or UPI codes in bulk?
Yes, as long as each line already contains the full encoded string, such as WIFI:T:WPA;S:Cafe;P:secret;; or upi://pay?pa=shop@okaxis&pn=Shop&cu=INR. The single QR code generator shows the exact format for each type.