RunTheTests
/

Bulk QR from CSV

Generate hundreds of QR codes from a pasted list — none of it uploaded.

Values — one per line, or paste a CSV

How this processes your file

Values are read one per line, or from a chosen column of pasted CSV with quoted fields handled properly, and each is encoded in the browser. Nothing leaves the tab, which matters more for a bulk job than a single one: a list going into a bulk QR service is typically customer links or asset identifiers, and the service encodes server-side with the whole list passing through its infrastructure. The densest row in the batch is reported separately, because a printed sheet uses one size for every code — so a single unusually long value quietly forces every other code on the sheet to be larger than it needed to be.

What the results mean

Rows found
How many values were parsed. Header rows can be skipped.
Densest row
The longest payload. It governs the print size of the entire batch.
Column used
Which CSV column supplied the values. Quoted fields containing commas are handled.
Uploaded
Never. Encoding happens in this tab, so it also works offline.

Common problems and fixes

My CSV columns are misread
Check the column number and whether the first row is a header. Quoted fields containing commas are handled, but a mismatched quote will run rows together.
One code is much denser than the rest
Shorten that value. Because the sheet prints at one size, a single long payload makes every code smaller than it needed to be.
The page slows with a long list
Everything is held in memory. Split a very large list into batches.

Frequently asked questions

Is my list uploaded?

No. Every code is encoded in this tab. That is the substantive difference from bulk QR services, which encode server-side and therefore hold your list.

How many codes can I generate?

Limited by browser memory rather than by any rule here. Several hundred is comfortable; several thousand will start to struggle.

Can I print these as a sheet?

Use the QR label sheet tool, which lays codes out at real millimetre sizes for adhesive stock.

More in QR