Skip to content
UseQR
ESC

↑↓ MOVE↵ OPEN48 PLACES

How-to guides

How to make QR codes from a spreadsheet

Upload your spreadsheet to UseQR's free bulk tool — .xlsx files work directly, no CSV export needed — map columns into the payload with merge fields like {{name}}, and download a ZIP of PNGs or SVGs, a grid PDF, or Avery label sheets. Every code is decode-verified before download.

View as MarkdownPaste this page into any AI assistant — it is plain, portable Markdown.

1. Shape the sheet

One row per code, headers in the first row. Any columns you like — you will map them in the next step:

sku url label
A-1001 https://example.com/p/a-1001 Widget, small
A-1002 https://example.com/p/a-1002 Widget, large

Keep payload values short: every character adds modules, and a bulk run multiplies any excess by the whole row count.

2. Upload it — .xlsx works directly

Drop the file on the bulk tool. It reads .xlsx workbooks natively (first sheet, first row as headers) as well as CSV — you can skip the export-to-CSV step and the mangling that comes with it. Everything runs client-side; the spreadsheet never leaves your browser, which matters if the rows are customer data.

If you do export CSV from Excel first, watch the classic traps:

  • Leading zeros vanish — serials like 007 become 7 unless the column is formatted as text.
  • Dates get rewritten into the locale format of whoever opened the file last.
  • Encoding: choose "CSV UTF-8". Plain "CSV" from older Excel versions produces Windows-1252, and accented characters arrive corrupted.
  • Formulas export as their current values — fine, but refresh them first.

3. Map columns with merge fields

You choose the code type once for the batch, then build the payload from your columns using {{column}} merge fields — for example https://example.com/p/{{sku}} or just {{url}}. Any column can also feed the filename and a printed caption, so A-1001.png comes out identifiable instead of qr-17.png.

Need different types per row — some WiFi, some URLs? Do that through the batch API, where each item carries its own type:

curl -X POST "https://useqr.app/api/v1/qr/batch" \
  -H "Content-Type: application/json" \
  -d '{"items":[{"data":"https://example.com"},{"type":"wifi","fields":{"ssid":"CafeGuest"}}]}'

The API takes up to 1,000 items per call (100 when rendering PNGs server-side), keyless and free — see bulk generation at scale for chunking patterns.

4. Pick the output

ZIP of PNGs or SVGs for design workflows, a grid PDF for guillotining, or Avery label layouts for sticker stock — sizing and cutting details live in making a sheet of QR code labels and Avery labels with QR codes.

5. Verify before you print

The bulk tool decode-verifies every generated code and flags failing rows. Do not skip reviewing that report: a systematic error — an unescaped character, a truncated column — is invisible in previews and expensive after 5,000 labels. The full run-and-proof workflow is in making QR codes in bulk.

If you want the codes inside the spreadsheet instead

Sometimes you do not want files — you want a QR image sitting in column C next to each row. That is a different technique (an IMAGE() formula calling the UseQR API), covered in Google Sheets and Excel.

Upload your sheet and run the batch: open the bulk tool.

FAQ

Can I generate QR codes directly from an Excel file?

Yes. UseQR's bulk tool reads .xlsx workbooks directly in the browser — first sheet, first row as headers — so no CSV export is needed. Map columns into the payload and download the batch.

How do I turn each row of a spreadsheet into a QR code?

Upload the file to a bulk generator, choose the code type, and reference columns with merge fields such as {{url}} or {{sku}}. Each row becomes one code, named by any column you pick.

How many QR codes can I make at once?

The bulk tool has no meaningful row limit for a browser session, and the keyless batch API accepts up to 1,000 items per call. Chunk larger jobs across calls — they are free.

Is it safe to upload a spreadsheet with customer data?

UseQR processes the file client-side — rows are parsed and encoded in your browser and never uploaded. With any other tool, check where the file goes before it contains personal data.

Try it — free, no signup

  • How to generate QR codes in bulk from a spreadsheet — Export a CSV with one row per code, upload it, and download a ZIP of images, a grid PDF, or Avery-format label sheets. Verify every code decodes before…
  • How to make a QR code in Google Sheets — One formula — =IMAGE("https://useqr.app/api/v1/qr?data="&ENCODEURL(A2)) — puts a live QR code in a cell. Fill it down and every row gets its own code.
  • How to make a QR code in Excel — In Microsoft 365, =IMAGE("https://useqr.app/api/v1/qr?data="&ENCODEURL(A2)) renders a QR code in a cell. Older Excel needs VBA or an offline bulk tool.
  • How to make a sheet of QR code labels — Use the free sticker sheet tool for identical or numbered codes on Avery stock or an A4 grid PDF, or the bulk tool for one code per spreadsheet row.
  • Bulk QR generation at scale — Generating hundreds to millions of QR codes: the batch API and its limits, local generation with worker pools, determinism as a caching strategy, and manifests.