Guide

How to Generate Bulk QR Codes from a CSV File

Need 100+ QR codes at once? Upload a CSV, pay once, download a ZIP. Here's the exact format to use and how to avoid common CSV mistakes.

Published June 1, 2026· Updated June 1, 2026· 6 min read

A retailer needs 200 unique QR codes — one per product SKU, each pointing to a different page. An event organiser needs a per-attendee check-in code for 150 guests. Generating them one at a time would take hours. The solution is a bulk QR code generator: upload a CSV, pay once, get a ZIP file with every QR code named and ready to use. You can do it at genqrfree.com/bulk-qr-code-generator — no subscription, no account.


When You Actually Need Bulk QR Codes

Single QR codes are fine for one URL — a menu, a WiFi network, a contact card. Bulk generation is the right tool when you need a different QR code for every item in a list. Common real-world cases:

  • Product labels — each SKU links to its own product page, spec sheet, or warranty registration
  • Event badges — each attendee gets a unique check-in QR tied to their registration record. For a full walkthrough of per-attendee event check-in QR codes, see the event registration guide
  • Loyalty cards — unique codes per customer for tracking redemptions
  • Location or asset signs — each piece of equipment or room links to a maintenance log or instructions
  • Printed certificates or tickets — unique validation URL per recipient

If every QR code in your batch points to the same URL, you only need one QR code — generate it free with the single generator and print it as many times as needed.


How the CSV Format Works

The bulk generator reads a two-column CSV:

Column rules:

  • First column: filename — the name of the output PNG file (no extension needed)
  • Second column: url — the full URL including https://
  • First row must be the header: filename,url
  • Maximum 500 rows per batch

The output ZIP contains one PNG per row, named exactly as specified in the filename column.

How to prepare your CSV correctly — common mistakes

Mistake 1: Missing the header row. The first row must be filename,url exactly. If you skip it, the first data row gets treated as a header and is skipped in the output.

Mistake 2: URLs without https://. example.com/page won't encode correctly. Always use the full URL: https://example.com/page.

Mistake 3: Special characters in filenames. Spaces, slashes, and symbols in the filename column cause problems on some operating systems. Use hyphens or underscores: badge-alice-chen, not badge alice/chen.

Mistake 4: Trailing whitespace. If you export from Excel or Google Sheets, check that cells don't have invisible trailing spaces — especially in the URL column. These get encoded into the QR and break the link.

Fastest way to build the CSV: Use Google Sheets. Put filename in A1 and url in B1, fill in your data, then File → Download → Comma-separated values (.csv).


Step-by-Step: Generate Your Bulk QR Codes

Step 1: Prepare your CSV Following the format above, create your two-column file. Keep filenames short and consistent — you'll be matching them to physical items later, so a clear naming convention (e.g. sku-001, sku-002) saves time.

Step 2: Open the bulk generator Go to genqrfree.com/bulk-qr-code-generator. Click Upload CSV and select your file. The tool validates the format and shows a preview of the first few rows.

Step 3: Set the design (optional) Choose a foreground color and background color that will apply to every QR code in the batch. You can also set the output size (1000px or 2000px). Individual per-row customization isn't available in bulk mode — if you need different designs per item, generate them individually.

Step 4: Pay and download Bulk generation is a one-time $3 fee per batch — no subscription, no account. After payment, your ZIP downloads immediately. Open it and you'll find one PNG per CSV row, named as specified.


Tips for Organising Your Output ZIP

Once you have the ZIP, a few habits save headaches:

Keep the source CSV. When you need to regenerate (e.g. a URL changes or you add new items), having the original CSV means you can edit one row and re-upload rather than starting from scratch.

Match filenames to your physical labels. If your product labels use SKU numbers, use the same numbers as filenames. sku-4821.png is instantly findable; qr-code-47.png is not.

Test a sample before printing at scale. Pull 3–5 QR codes from the ZIP at random, scan each one, and confirm the destination URL is correct. Once you have your ZIP, prepare files for print using our QR codes for posters and flyers guide — it covers file formats, sizing, and contrast requirements before sending to your printer.

For events specifically: If you're generating per-attendee check-in codes, keep the CSV in the same folder as the ZIP so you can look up which filename corresponds to which attendee. See the event QR code guide for how to integrate these into badges and signage.


Frequently Asked Questions

Is there a row limit on the CSV? Yes — 500 rows per batch. If you need more, split your CSV into multiple files of up to 500 rows and process each separately. Each batch is $3.

Can I customise the design (color, logo) for bulk QR codes? You can set a single color scheme and output size that applies to the whole batch. Per-row color or logo customization isn't supported in bulk mode. If you need individual branding per QR (e.g. different colors per department), generate those individually with the free single generator.

Do I need to pay for every batch, or is the $3 a one-time fee? It's $3 per batch — each time you upload a CSV and download a new ZIP. There's no subscription. If you upload the same CSV twice, you pay twice. Save your source CSV so you're only regenerating when something actually changes.


Generate your bulk QR codes from CSV at genqrfree.com/bulk-qr-code-generator — $3 per batch, no subscription, ZIP downloads instantly.

Ready to create your QR code?

Free, no sign-up required. Download PNG instantly.

Create free QR code →