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.
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
007become7unless 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
Related
- 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.