My Tool Studio
Generators·4 min read

Generating QR Codes from a CSV: A Batch Workflow

Three hundred asset tags by Friday, each needing its own QR code, is the kind of task that either eats a day or takes ten minutes. Working from a CSV is the ten minute version: your spreadsheet already holds the URLs or serial numbers, so the real work is getting those rows into a batch tool and a ZIP of images back out. This walkthrough covers preparing the columns, uploading or pasting them into the Bulk QR Code Generator, how output files get named, and what to verify before anything reaches a label printer.

QR

When single QR codes stop scaling

The jobs that arrive as spreadsheets.

Batch QR work always starts life as a table. An events team holds 400 attendee check-in links. A facilities crew needs a scannable tag on every fire extinguisher, keyed to its inspection record. A restaurant group wants table-specific ordering codes across twelve locations. In each case the payloads already exist as rows, and the bottleneck is purely image production.

Producing those one by one through a single-code tool means four hundred rounds of paste, download, rename. The batch route collapses all of it into one upload and one ZIP download, with no batch cap beyond your device's memory.

Generating QR codes from a CSV, start to finish

Set the sheet up with one row per code: the value to encode in one column and, if you want your own file names, a name in another. Then upload the file as it is. The tool reads CSV, TSV and XLSX, spots common headers such as url, link, value, name or filename, and lets you choose what each row is (links, WiFi networks, vCard contacts and six other types), which column feeds each field, and the File name and label column. Tick First row is a header so the header row isn't encoded.

No file handy? Select the columns in Excel or Google Sheets, copy, and paste into the text box; the tabs between the columns keep them apart. Then style the batch in the Design panel, check the first six previews, choose PNG, JPG, WebP, SVG or PNG and SVG at 256 to 4096 pixels, and press Download as ZIP, or pick a sheet layout for a printable PDF of labels. Everything runs in your browser and the ZIP is assembled with JSZip in the tab, which matters when the list contains internal asset URLs or serials you'd rather not hand to a third-party service.

Build the finished payload in the sheet

With Each row is set to Text or links, as written, the tool encodes exactly the text it receives, so the one job that stays in the spreadsheet is building a column that holds the finished payload for every row. That's where you already have formulas.

Say column A holds tag IDs like TAG-0047 and each code should open an asset page. In B2 write a concatenation such as ="https://example.com/asset/"&A2 and fill it down. Encode column B and use column A as the file name. Input: TAG-0047 in the sheet. Output: TAG-0047.png in the ZIP, encoding https://example.com/asset/TAG-0047. Change the URL pattern once and the whole batch remaps.

Naming bulk QR files so code 47 stays findable

A ZIP of five hundred anonymous images is its own small disaster, so the naming scheme carries the mapping. When you supply a name column, each file takes that name, with characters other than letters, digits, hyphens, periods and underscores turned into underscores. Repeated names get -2, -3 and so on instead of overwriting each other.

Without a name column, the file starts with the item number, then up to 40 cleaned characters of the value: the 47th value https://example.com/asset/TAG-0047 becomes 47-https_example.com_asset_TAG-0047.png. Either way, the ZIP also holds index.csv, which lists every final file name next to the exact value encoded in it. Keep that file with the images; it's the join key for a label printer's mail merge and for tracing any code back to its row.

Bulk QR batch mistakes that surface after printing

The expensive errors in batch work all become visible only after the stickers exist:

  • Pasting the header cell along with the data. With pasted text there is no header checkbox, so a line reading url becomes your first code. Delete it before generating.
  • Letting blank rows shift the count; empty rows are skipped, so item numbers can drift out of step with spreadsheet row numbers. Use a name column or index.csv rather than counting rows.
  • Duplicates hiding in the column, which waste labels and put identical codes on two different assets.
  • Encoding long URLs bloated with tracking parameters. Every code gets denser, and a value too long for a QR code is skipped with a notice listing its row number.
  • Skipping the spot check; printing five hundred labels before scanning even one is how reprint budgets happen.

Tips for cleaner QR code batches

Deduplicate the payload column in the sheet before exporting, since the tool will loyally encode the same value twice. Scan one of the previews, then print a single page of the label sheet on plain paper and scan that before committing the batch. Pick SVG when the files go into label or design software, since vectors print sharp at any size. And treat the spreadsheet as the source of truth: keep it, version it, and regenerating any subset later is a filter and a re-upload away.

Bulk QR Code Generator next to the single-code tools

Batch output is uniform by design: every code in a run shares one design, logo included, and only the frame text can change per row. When one code needs a different treatment, make it in the QR Code Generator, whose article also explains the four error correction levels. A single contact card with every field and a .vcf file belongs in the vCard QR Code Generator, and 1D labels for scanner guns come from the Barcode Generator, which has its own bulk mode.

Try it now

Open Bulk QR Code Generator

The tool is one click away. No sign up, no upload, no payment.

Open Bulk QR Code Generator