How to generate hundreds of QR codes from a CSV
One QR code takes seconds. Two hundred of them, for a product catalog, event badges, or a sticker per table, is where most tools send you to a pricing page. Reticle's batch mode turns a CSV into a ZIP of finished codes right in your browser: one code per row, your design on every single one, nothing uploaded.
Step 1: pick the content type
Batch honors whichever content type is selected when you run it. Generating a list of links? Stay on URL. Printing Wi-Fi cards for every meeting room, badges with a vCard contact per employee, or a calendar invite per session? Pick that tab first; the CSV columns simply change to match.
Step 2: design the code once
Whatever is in the preview is what every row gets: colors or a gradient, module and corner shapes, a center logo (Reticle automatically raises error correction to the maximum when you add one), and a "Scan me" frame with your own caption if you want one. Start from a one-click preset or a saved brand template, and keep an eye on the scanability tag under the preview; if your typical payload reads "Dense", shorten it or plan to print larger.
Before committing to a big run, hit Test scan. It decodes the actual export-size image on your device and confirms the code reads back exactly, which is a lot cheaper than discovering a problem after the print shop delivers.
Step 3: grab the sample CSV
Open Batch in the toolbar and click Download a sample CSV. The sample is generated for your selected type: the header row holds the exact field names the type expects, followed by two example rows. Fill in your data underneath (any spreadsheet app can save as CSV), keeping the headers as they are. Quoted fields, commas inside values, and multi-line cells are all handled; columns Reticle doesn't recognize are simply ignored, so an existing spreadsheet with extra columns usually works as-is.
Step 4: upload and generate
Drop the CSV into the Batch dialog and hit Generate. Reticle renders each row at your chosen export size, shows progress as it goes, and downloads a ZIP named after the content type. Every file inside is a PNG named from its row's content (the URL for links, the network name for Wi-Fi codes, the person's name for vCards), so matching files back to your spreadsheet is easy. Rows with missing required fields are skipped and counted, not silently dropped.
Why in-browser batch matters
The CSV never leaves your machine. That's not a small thing when the file is a list of employee contact details or every SSID and password in the building. There's no upload step, no queue, and no account required; the work happens on your own hardware.
Frequently asked questions
Is my CSV uploaded anywhere?
No. The CSV is read and every code is rendered locally in your browser; the ZIP is assembled on your device too. Your data never touches a server.
What do the CSV columns need to be called?
The header row must use the field names for the content type you have selected. The easiest way to get them right is to download the sample CSV from the Batch dialog, which has the correct headers and two example rows, and fill in your own data underneath.
Can I batch-generate types other than URLs?
Yes. Batch honors whichever content type is selected, so you can generate Wi-Fi codes, vCard contacts, calendar events, email, SMS, phone, location, or crypto codes in bulk. Each type has its own sample CSV.
Do my colors, logo, and frame apply to every code?
Yes. Every row is rendered with your current appearance settings, including a center logo and any Scan me frame. Note that framed codes export taller than they are wide; switch the frame to None if you need uniform square images.
Is there a size limit?
The CSV itself is capped at 2 MB, which is tens of thousands of typical rows. In practice the limit is patience: each code is rendered at your chosen export size, so very large batches take a little while.
Have a list waiting? Open the QR generator, style one code the way you want them all, then hit Batch in the toolbar. Free, no account needed.