Batch QR Code Generator

Upload a CSV file to generate QR codes in bulk. Download all generated codes as a ZIP archive.

Drop a CSV file here

First column will be used as QR data

Settings

items loaded

Preview ( items)

# Data Label Preview

Showing first 20 of items.

Related on BarcodeFYI

Barcode Batch Generator

Generate multiple barcodes at once from a list.

How to Use This Tool

  1. 1
    Prepare and upload your CSV file

    Create a CSV with one row per QR code, including columns for the data to encode and optionally the encoding type, error-correction level, and filename; then upload the file to the generator.

  2. 2
    Configure batch output settings

    Choose the output format (PNG, SVG, or PDF), set the desired pixel size or physical dimensions, and select the error-correction level to apply uniformly or per-row.

  3. 3
    Download the generated batch

    Click Generate to process all rows and download a ZIP archive containing one QR code image per CSV row, named according to your filename column or row index.

Frequently Asked Questions

What data types can a batch generator handle in a single CSV?

A multi-type batch generator can encode different data formats in the same run by reading a type column from each CSV row. Common supported types include plain text, URLs, email addresses (mailto: scheme), telephone numbers (tel: scheme), SMS messages (smsto: scheme), WiFi credentials (the WPA/WPA2 mecard format), vCard contacts, geographic coordinates (geo: scheme), and calendar events (the iCalendar VEVENT format). Each row is encoded independently using the appropriate format, so a single CSV can generate QR codes for a product catalogue, event tickets, and contact cards simultaneously.

How should I structure the CSV to avoid encoding errors?

UTF-8 encoding with a byte-order mark (BOM) is recommended for CSV files containing non-ASCII characters such as accented letters, Chinese, Arabic, or Cyrillic text, as it signals the encoding explicitly to the parser. Wrap fields containing commas or newlines in double quotes per RFC 4180. For URLs, ensure they are fully formed with the https:// or http:// scheme, as bare domain names may be treated as plain text rather than as hyperlinks by some scanning applications. Numeric-only fields intended for numeric mode encoding should not include leading zeros unless they are semantically significant (as in EAN barcodes).

What is the recommended error-correction level for batch production?

Level M (15% correction) is the most common choice for general-purpose batch production: it provides meaningful damage tolerance while keeping the version lower and the code smaller than Level Q or H. Level L is appropriate when codes will be scanned in controlled conditions with no risk of physical damage, such as digital display contexts. Level Q or H should be specified per-row for codes that will be printed on outdoor labels, applied to curved surfaces, or overlaid with logos. A batch generator that supports per-row error-correction level gives the flexibility to match protection to use case without running multiple separate jobs.

Can batch-generated QR codes include custom colours or logos?

Colour substitution (replacing the default black modules with a brand colour and white background with a light tint) and logo insertion are supported by many batch generators. When using custom colours, maintain a minimum contrast ratio of 70% between dark and light modules — the ISO/IEC 18004 standard recommends that the Print Reflectance Minimum (PRM) for dark modules be at least 0.5 and the Print Reflectance Maximum (PRM) for light modules be at most 0.5. Inverted QR codes (light modules on dark background) can be decoded by most modern scanners but are not compliant with the ISO standard and may fail legacy readers.

How large can a single batch job be?

Practical limits depend on the generator implementation, but web-based tools typically handle batches of a few hundred to a few thousand rows without issue. Very large batches (tens of thousands) are better processed using a server-side or CLI tool to avoid browser memory constraints and network timeout risks. The output ZIP file size grows roughly linearly with the number of codes and their individual file size: a thousand 200×200 PNG codes will produce approximately 5–15 MB, while SVG output is typically 60–80% smaller than equivalent PNG for the same code.