Bulk QR Code Generator

Turn a spreadsheet into hundreds of QR codes. Upload a CSV or Excel file, map the column you want encoded, and download a ZIP of ready-to-print codes — entirely in your browser.

  • CSV + Excel input
  • PNG + SVG output
  • No sign-up required
  • 100% in your browser

Bulk QR generator

Upload → map → download

  1. 1Upload
  2. 2Map & preview
  3. 3Download

Drop a CSV or Excel file here

One row per QR code. .csv, .tsv, and .xlsx up to 20 MB.

Processed locally — nothing is uploadedUp to 2000 rows per batch
PNG & SVG · adjustable size, margin, error correctionZIP includes manifest.csv

WHAT IT DOES

A spreadsheet in, a ZIP of QR codes out

  • One row = one QR code
  • No formulas or macros
  • Works after the page loads
  • Commercial use allowed

A bulk QR code generator turns a list of links, IDs, or text values into many QR codes at once. Instead of typing one value at a time into a single-code generator, you upload a spreadsheet, choose which column to encode, and download every code together.

This tool is built for lists with hundreds of rows: product URLs, ticket IDs, asset tags, campaign links, or WiFi strings. Mapping, rendering, and ZIP packaging happen in your browser, so the file never leaves your device. Every row is logged in a manifest CSV, and each code keeps its own value.

HOW IT WORKS

Three steps from file to finished QR codes

No formulas, macros, or design software. A few hundred codes take seconds.

  1. 01

    Upload your spreadsheet

    Drop in a .csv or .xlsx file with one row per QR code. The first row becomes your column names.

  2. 02

    Map the QR content

    Pick the URL, SKU, or text column. Combine columns with a template and add a prefix when you need one.

  3. 03

    Download the ZIP

    Every code is rendered at your chosen size and packaged with a manifest CSV. Filenames come from your name column.

BUILT FOR REAL BATCHES

Hundreds of codes, one pass

A proper bulk workflow — not a one-at-a-time generator with a spreadsheet bolted on.

True batch generation

Render up to 2,000 QR codes in a single run. Live progress, automatic ZIP packaging, and a manifest for every row.

Column mapping + templates

Map one column directly, or combine several columns into one value to build URLs, labels, and WiFi strings.

CSV and Excel in

Reads .csv, .tsv, and .xlsx with quoted fields and UTF-8 or GBK text. No upload, no conversion step.

Private by design

Your file never leaves the browser. No server, no account, no storage, no retention.

Print-ready output

Export crisp PNGs from 256 to 1024 px or vector SVGs, with adjustable quiet zone and error correction.

Filenames that match

Use a SKU, product name, or asset ID column. Duplicates are suffixed automatically so nothing is overwritten.

WHAT PEOPLE BATCH

One spreadsheet, many destinations

Anywhere a list of links, codes, or text needs to become a scannable label.

CSV · XLSX · PNG · SVGFree · No sign-up

Product labels

Packaging, hang tags, and inserts — one URL per SKU.

Event tickets

Unique check-in codes from an attendee export.

Menus & table tents

One code per table, outlet, or language.

Asset tags

Equipment, inventory, and maintenance records.

Campaign links

Trackable URLs for every channel or region.

WiFi cards

Guest networks, holiday rentals, and café signage.

PRACTICAL GUIDES

Two things worth getting right before you print

Most batch QR problems come from the spreadsheet export or the print settings, not the generator. These two guides cover both.

How to make bulk QR codes from Google Sheets

Google Sheets is where a lot of product lists, ticket lists, and asset registers already live. You do not need an add-on, Apps Script, or a paid QR service to turn one of those sheets into a batch of printable codes. The reliable route is to prepare one row per code, export the sheet as CSV, then upload the file here and map the payload column.

  1. 1

    Give every row one payload

    Add a column that contains exactly what the QR code should say: a full URL, an SKU, a ticket ID, or a WiFi string. Keep one value per row. For product pages, build the full URL in a helper column with a formula such as ="https://example.com/p/"&B2, then copy it down. Google Sheets exports the calculated value, not the formula.

  2. 2

    Add a filename column

    The generator names each image from your data. A second column with a safe, unique value such as the SKU or ticket number makes the ZIP easy to match back to the sheet. Avoid slashes and characters your operating system rejects.

  3. 3

    Export the working tab as CSV

    Use File, then Download, then Comma-separated values. Export the tab you are working on rather than the whole workbook. Google Sheets writes UTF-8, so accented characters and non-Latin text survive. If a column contains leading zeros, format it as plain text first so the values are not shortened.

  4. 4

    Upload, map, and generate

    Drop the CSV into the tool above, choose the payload column and the filename column, set the image size, and generate. Every row becomes one QR code. The ZIP also contains a manifest, so each file can be traced back to its row.

One caution: Download CSV exports the values currently displayed. That is what you want when formulas build the payload, but check that filters or hidden rows have not removed records before you generate the batch.

This workflow handles a few hundred codes in a minute or two, without a script or an API quota. Once the CSV leaves Google Sheets, parsing and rendering happen in your browser, so the sheet itself is never uploaded.

Choose QR code size and error correction for print

A QR code that scans perfectly on a monitor can fail on paper. Two settings decide whether it survives: the physical size you print and the error-correction level built into the pattern. Both are easy to get right once you know the scanning distance and the surface.

Start with the scanning distance

The working rule is 10 to 1: a code should be at least one tenth of the distance from which people scan it. A poster read from 3 metres needs a code around 30 cm wide; a table card scanned at 30 cm needs about 3 cm. Useful starting points are 1.2 to 1.5 cm on a business card, 2 to 3 cm on a flyer, 3 to 5 cm on a table card, 5 to 10 cm on a poster, and 30 cm or more for signage. Measure the printed code, not the image on screen.

Resolution, quiet zone, and material

For PNG, 1024 px is a safe default for codes up to about 10 cm; use SVG when the printer supports it, because vectors stay sharp at any size. Keep at least four modules of blank space around the code. At small sizes the individual module should be at least 0.4 mm, otherwise ink spread and paper texture merge the squares. Matte stock scans more reliably than glossy stock under overhead lights.

Pick the error-correction level

QR codes carry redundant data so a damaged code can still be read. The four levels trade capacity for resilience:

Level L
L recovers about 7% of the code. Use it only for clean, close-range digital or indoor display where every module is sharp.
Level M
M recovers about 15%. This is the sensible default for flat, indoor print such as flyers, labels, and posters.
Level Q
Q recovers about 25%. Choose it for stickers, handles, curved surfaces, or codes that will be touched and scuffed.
Level H
H recovers about 30%. Reserve it for outdoor signs, codes with a logo overlay, or prints that may be damaged. It also makes the pattern denser.

Shorten the data before raising correction

Error correction is not the only thing that adds density. A long URL produces more modules than a short one. If a code looks crowded, shorten the payload before moving to a higher correction level. Avoid shorteners you do not control; a dead redirect is worse than a slightly longer code.

Test one sheet at final size

Print a single copy at the final size and scan it with an older phone in the same light as the final location. If it reads at arm's length, the run is ready. If not, increase the printed size first, then the correction level, then shorten the data.

FREQUENTLY ASKED QUESTIONS

Bulk QR codes, answered

  • Up to 2,000 in one batch. Most users generate a few hundred; if your list is larger, split it into smaller files and run each one.

  • CSV, TSV, and Excel .xlsx. The first row is treated as column names by default; you can turn that off in the mapping step.

  • No. Parsing, QR rendering, and ZIP packaging all run in your browser. Your spreadsheet is never sent to us.

  • Yes. Map the URL column and every row gets its own QR code. This is the most common bulk use case.

  • Yes. Switch to Custom template and reference a column by name, for example a URL prefix followed by the SKU column.

  • PNG is ready to print at 256–1024 px. SVG is vector, stays sharp at any size, and is the better choice for professional printing.

  • Empty cells or content too long for a QR code are skipped. The ZIP includes manifest.csv listing every row and the reason.

  • No. The generator is free, has no sign-up, and does not add watermarks or limits on the number of batches.

  • Yes. Build a WIFI: payload column, or use the dedicated WiFi QR code generator for a single guest network.

  • Yes. The codes you generate are yours to print, publish, and use in products and marketing.

Start with a spreadsheet.

Drop in your CSV or Excel file — the first QR codes appear before you finish reading this.