ToolJutsu
All tools
QR & Barcode Tools

Bulk QR Generator

Generate many QR codes from a CSV and download a ZIP.

Applied to every QR code in the batch
256 px
Error correction
Processed on your device. We never see your files.

How to use Bulk QR Generator

What this tool does

A bulk QR code generator turns a spreadsheet into a folder of QR codes in one step. Instead of generating a code, downloading it, and repeating that for every row, you paste or upload a CSV, point the tool at the column that holds the content, and it produces one QR code per row — then packages them all into a single ZIP download.

ToolJutsu’s bulk generator parses the CSV in your browser with a proper scanner, so quoted fields, commas inside quotes, and escaped quotes are read correctly. It shows how many codes will be produced, renders a preview of the first few as thumbnails, and applies the size, error-correction level, and colours you choose to the whole batch. Every QR code is drawn on your device and the ZIP is built locally — nothing in your CSV is ever uploaded.

Why you might need it

QR codes are most useful when there are many of them, each pointing somewhere slightly different. A restaurant needs a separate code for every table so an order is tied to the right seat. A warehouse tags hundreds of shelves and bins with asset codes. An event prints a unique QR on every ticket or attendee badge. A product catalogue puts a code on each label that links to that exact item’s page. A mailing campaign sends each recipient a personalised landing URL.

Generating those one at a time is slow and error-prone — it is easy to mismatch a code with its label. With a CSV you already have the data in rows: a table number and a menu link, an asset ID and a tracking URL, a guest name and a check-in page. This tool reads that structure directly and produces a correctly named QR code for every row, so the batch stays organised and traceable.

How to use it

  1. Add your CSV. Paste it into the text box, or drop a .csv file onto the upload zone. Use Load sample to see the expected shape.
  2. Set the header toggle. Leave First row is a header on if your CSV starts with column titles; turn it off if the first row is already data.
  3. Pick the QR content column — the column whose cells should be encoded into each QR code.
  4. Choose a file name column (optional). Each QR file is named from this column; leave it on Sequential to get qr-001, qr-002, and so on.
  5. Customise the batch. Set the size, error-correction level, and the foreground and background colours that apply to every code.
  6. Click Preview first 5 to spot-check the thumbnails, then Generate & download ZIP to build and download the full set.

The tool tells you how many QR codes it will produce and skips any blank rows automatically, so you always know what is in the ZIP before you download it.

Tips for clean, reliable batches

Choose a file name column whenever you can — names like table-01 or the asset ID are far easier to match to a physical label than qr-047. If two rows would produce the same name, the tool appends a number so no file is silently overwritten, but unique names in your source data avoid that entirely.

Set the error-correction level to match where the codes will live. For labels and stickers that get handled, scuffed, or partly covered, choose Q or H so they still scan with some damage. For codes shown cleanly on a screen, L or M keeps the pattern less dense. And test one printed code with a real phone before committing a large run to print.

Working with large CSVs

The tool generates up to 1000 QR codes from a single file. Beyond a few hundred it shows a heads-up that the job may take a few seconds and use some memory, because every code is rendered and compressed in your browser rather than on a server. A progress counter shows how many codes have been rendered while the ZIP is assembled. If you have more rows than the limit, split the CSV into smaller files and run each batch separately — and keep the tab open until the download finishes, since the ZIP is built entirely on your device.

Frequently asked questions

Is my CSV uploaded anywhere when I use this tool?
No. The CSV is read and parsed in your browser, every QR code is drawn on your device, and the ZIP is assembled locally before the download starts. None of your rows, links, or file names are sent to a server. You can confirm this in your browser's Network tab — nothing leaves your machine.
What should my CSV look like?
A plain CSV with one row per QR code. One column holds the content to encode (a URL, text, or any string) and an optional column supplies the file name for each QR. If your file has a header row, keep the toggle on and pick the columns by name; otherwise turn it off and the columns are numbered. Quoted fields, commas inside quotes, and escaped double quotes are all handled.
How are the QR code files named inside the ZIP?
If you choose a file name column, each QR uses that cell's value, cleaned of characters that are not allowed in file names. If two rows produce the same name, a number is appended so nothing is overwritten. If you do not pick a name column, files are named sequentially — qr-001, qr-002, and so on — zero-padded so they sort correctly.
How many QR codes can I generate at once?
The tool generates up to 1000 QR codes per CSV. Above roughly 300 it shows a heads-up that the batch may take a few seconds. For very large jobs, split the CSV into smaller files and run each one separately to keep the browser tab responsive.
Can I customise the look of every QR code?
Yes. The size, error-correction level, and foreground and background colours you set are applied to every QR code in the batch, so the whole set stays visually consistent. Keep strong contrast between the two colours so the codes scan reliably.

Related tools