Paste your list — one value per line
Customise type, size & colour optional
Results
How bulk code generation works
One list in, a folder of labelled images out — without pasting the same thing into a form three hundred times.
Making one QR code is quick. Making two hundred for a product catalogue, an equipment register, a set of event tickets or a school's library shelves is not — and it is exactly the kind of job that pushes people towards paid services. This tool does it in one pass, in the browser, with no account and no upload. You paste a list, choose what to generate, and get back either a ZIP of individually named PNG files or an A4 sheet laid out ready to print and cut.
Two ways to write your list
Plain mode — one value per line
The simplest option. Every line becomes one code, and files are named sequentially: code-001.png, code-002.png and so on. Fine when the order in your source spreadsheet is the order you want.
CSV mode — label,value per line
Switch on CSV mode and write each line as a label, a comma, then the value. The label becomes the filename, so files arrive as shelf-a1.png rather than code-007.png — a very different experience when you are matching two hundred images to two hundred assets. For example:
| Line you paste | File you get | Code contains |
|---|---|---|
| menu,https://cafe.example/menu | menu.png | https://cafe.example/menu |
| laptop-014,ASSET-014 | laptop-014.png | ASSET-014 |
| guest-wifi,WIFI:T:WPA;S:Guest;P:hello123;; | guest-wifi.png | the Wi-Fi join payload |
Every ZIP also contains an index.csv listing each filename against the value it encodes, so you always have an audit trail of what went where.
Getting a list out of a spreadsheet
Most people's source data is already in Excel, Google Sheets or a CSV export. To bring it here, select the column you want and copy it, then paste directly into the box — a copied spreadsheet column pastes as one value per line. For CSV mode, build a helper column with a formula such as =A2&","&B2, fill it down, and copy that column instead.
Practical uses
- Asset and equipment tagging. One code per serial number, printed on durable labels and stuck to laptops, tools or lab equipment.
- Retail and market stalls. A barcode per SKU, generated straight from a product spreadsheet.
- Events. Unique codes per ticket or per table, each pointing at a different check-in URL.
- Libraries and archives. Codabar or CODE128 labels for shelving and loan systems.
- Restaurant tables. A QR per table that opens the menu with a table number in the query string.
- Warehouse locations. A code per bin or shelf position, printed on an A4 sheet and cut up.
The printable sheet
The A4 sheet option opens a print-ready layout: four codes per row, each with its value printed underneath in small type, and a dashed cutting guide around every cell. It is deliberately plain, because the most common use is printing onto ordinary paper or a sheet of blank labels and cutting by hand. Set your printer to actual size rather than "fit to page" so the codes come out at a predictable scale, and print a single test page before committing a whole batch.
Before you print three hundred of anything: generate five, print them on the actual material at the actual size, and scan each one with two different phones. Ten minutes of testing has saved a great many people from a reprint.
Limits, and why they exist
A batch is capped at 300 codes. Because every image is rendered by your own device rather than a server, a much larger batch would make the page unresponsive on a mid-range phone while it worked through the list. If you have more than 300, split the list and run the tool twice — the ZIP files are independent and can be merged in any file manager.
Invalid entries do not stop the run. If a line cannot be encoded in the chosen barcode format — a nine-digit value selected as EAN-13, say — that tile is marked Invalid and the batch continues without it, with the number of skipped lines reported at the end.
Frequently asked questions
How many codes can I generate at once?
Up to 300 per batch. There is no account tier above that — the cap is there so the page stays responsive on a phone, since all the rendering happens on your device.
Can I choose the filenames?
Yes. Turn on CSV mode and format each line as label,value. The label becomes the filename and an index.csv in the ZIP records which file holds which value.
Is my list uploaded to a server?
No. The codes, the ZIP and the print sheet are all assembled inside your browser. Nothing is transmitted.
Why did some entries come out as "Invalid"?
Linear barcode formats have strict rules about length and allowed characters. A value that breaks the rule for the selected format is skipped rather than drawn incorrectly. Either correct the value or switch to CODE128, which accepts almost anything.
Can I generate QR codes with different colours in one batch?
Not in a single run — one colour and one style apply to the whole batch. Run the tool once per style if you need variation, or use the single QR generator for one-off designs with logos and gradients.
Does the ZIP contain SVG files as well?
Currently the batch exports PNG at the size you choose, up to 1200 px, which is sufficient for label printing. For vector output, generate the individual code in the QR generator or the barcode generator and download the SVG there.