What this tool does
Most QR code generators make one code at a time. This one is built for the moment you have a spreadsheet with two hundred rows in it and every row needs its own code — a warehouse shelf list, a conference attendee export, an asset register, a set of product pages.
You give it a list of URLs, either by uploading a CSV or by typing rows into a form. It gives you back a ZIP file of PNG images. What happens in between is where the useful bits are:
-
Filenames you can actually use. Pick any column in
your CSV to name the output files. If your spreadsheet has an
employee_idcolumn, you getE10432.pngrather thanqr_code_1.png, so you never have to work out which anonymous numbered file belongs to whom. - Printable sheets. Set how many codes go on a single image and they are laid out in a grid, each one labelled underneath. One image, one print job, no manual arranging in a document.
- Repeats. Need forty identical codes for a table tent or a shelf edge? Put the URL in once and set the copies count.
- Vector output. Export as SVG instead of PNG and one file works at any size, from a business card to a shop window — which is what a commercial printer will ask you for.
- Privacy by architecture. The generation happens in JavaScript on your machine. Your CSV is never uploaded, so internal URLs, customer identifiers and unreleased product links stay on your computer.
These codes never expire
Most QR code generators hand you a dynamic code, which does not encode your link at all — it encodes a short URL on their domain that redirects to yours. That is what makes the destination editable, and it is also why so many printed codes stop working: when the trial ends, the subscription lapses, the monthly scan cap is hit or the company shuts down, the redirect dies and every sticker, menu and poster you printed dies with it.
Everything this tool produces is static. Your destination is encoded directly into the black and white pattern, with nothing in the middle. There is no account, no redirect on our domain, no scan limit and no plan tier — so there is nothing anyone could switch off, and nothing that breaks if this site ever disappears. A code you generate today will still scan in twenty years.
The trade-off is real and worth stating: you cannot change where a printed static code points, and you get no scan analytics. If you want both, encode a URL on a domain you control and redirect from your own server — permanent codes, editable destinations, and nobody else holding the switch. See do QR codes expire? for how.
How to generate QR codes in bulk
- Prepare your list. A CSV with a header row and a column of URLs is all that is required. Any column name works — you will choose which one holds the URLs after uploading.
- Upload it — or skip the file entirely. "Enter manually" gives each row its own filename and copies count, and "Paste a list" takes one URL per line, so you can paste two columns straight out of a spreadsheet.
- Choose your filename column. Pick the column that identifies each row, and optionally add a prefix that goes in front of every filename. Leave it on "Numbered" if you do not care.
- Decide on the layout. One QR code per image gives you individual files. More than one arranges them in a labelled grid on a single sheet.
- Set the format, size and error correction. PNG or SVG, 300 to 1000 pixels, and a higher error-correction level if the codes will be printed and handled.
- Generate. A ZIP downloads automatically. Nothing is sent anywhere.
What people use it for
- Asset and inventory labels Export your asset register, generate a code per item that links to its record, and print them as sheets of labels.
- Event badges and name tags One code per attendee, each file named after the attendee so the mail-merge into your badge template just works.
- Restaurant tables and menus A repeated code for the menu, or one per table so you can tell which table scanned.
- Product and packaging inserts A code per SKU pointing at the product page, manual, or registration form.
- Classroom and library materials A code per book, worksheet, or station, named after the item so reprinting a single one is easy.
- Property and real estate signage A code per listing, named by MLS number, printed as a labelled sheet for the whole portfolio.
Frequently asked questions
Is this bulk QR code generator free?
Yes. There is no signup, no account, no watermark and no cap on how many QR codes you can generate. It is free for personal and commercial projects alike. The site carries advertising to cover its costs.
Are my URLs uploaded to a server?
No. Every QR code is generated by JavaScript running in your own browser. Your CSV is read locally, the images are drawn on a local canvas, and the ZIP is assembled locally. Nothing you type or upload is transmitted to us — there is no server here that could receive it.
Do the QR codes expire?
No. These are static QR codes: the URL is encoded directly into the pattern, with no redirect service sitting in the middle. That means nothing can expire, get rate-limited, or be shut down later. The trade-off is that you cannot change where a printed code points after the fact, and you get no scan analytics. If you need either of those, encode a URL you control and redirect from your own server.
How many QR codes can I generate at once?
There is no hard limit. Because generation happens on your device, the ceiling is your own memory and patience rather than a plan tier. Several thousand codes in a batch is normal; very large batches simply take a minute of processing.
Can I add a logo to the QR code?
Yes. Upload an image and it is drawn in the centre of every code, on a small plate of background colour so it reads as deliberate rather than as damage. Error correction is forced to High while a logo is set, because a logo covers modules that only the highest level can reconstruct. Keep it under about a quarter of the width, and always test-scan before committing to a print run.
Can I change the colours?
Yes, both the code and its background. The tool measures the contrast between the two and warns you when they are too close together for a phone to read — scanners want roughly a 3:1 ratio, well short of the brand palette pairings people usually reach for. It also flags light-on-dark codes, which scan fine on modern phones but defeat some older readers.
Can I name the files something other than a number?
Yes, and this is the main reason the tool exists. After uploading your CSV you choose which column names the files — employee ID, SKU, room number, attendee name, whatever convention you already use. Characters that are not letters or numbers become underscores, and if two rows produce the same name the second gets a numeric suffix so nothing is silently overwritten.
Can I print many QR codes on one page?
Yes. Set "QR codes per image" above 1 and the codes are arranged in a grid on one PNG, each labelled underneath with its name so you can tell them apart after printing. Untick the label option if you want bare codes.
What file format are the QR codes?
PNG or SVG, delivered in a ZIP. PNG is available at 300, 600 or 1000 pixels square, which covers everything from a badge to a poster. SVG is vector — one file scales to any size with perfectly sharp edges, which is what print shops ask for. Pick it from the file format dropdown when generating one code per image; combined sheets are raster only. See the SVG guide.
Guides
- How to generate QR codes in bulk from a CSV file The full walkthrough, from spreadsheet to ZIP.
- Do QR codes expire? They do not — but dynamic codes stop working the moment somebody stops paying.
- How to print a sheet of identical QR codes For table tents, shelf edges, flyers and handouts.
- How to name QR code files from a spreadsheet column Stop guessing which numbered file belongs to which row.
- How to format a CSV for bulk QR code generation Headers, encoding, commas in URLs, and Excel's quirks.
- How to generate bulk QR codes as SVG files Vector output for print, and when PNG is better.
- QR code error correction levels explained What L, M, Q and H trade away, and which to pick.
- QR codes for asset tags and inventory labels What to encode, and how to lay out a label sheet.
- QR codes for event badges and name tags One code per attendee, named so the mail merge works.