From spreadsheet to print-ready QR labels
A single QR code is easy to print. A sheet of 200 correctly spaced, correctly captioned codes — sized to fit real label stock, laid out so nothing overlaps or runs off the page — isn't something you build in a word processor. This tool takes a CSV and a few layout settings and gives you a print-ready PDF instead.
How it works
Upload a CSV
One row per label — a SKU, a name, a link, whatever you're tagging.
Map your columns
Which column becomes the QR content, which becomes the caption underneath it.
Set the sheet layout
Page size, columns × rows per page, margin and spacing between labels.
Export the PDF
Every row placed and captioned automatically, paginated across as many pages as your list needs.
What people print with it
- Warehouse and asset tags — a durable code per shelf, bin, or piece of equipment, sized for a label printer or plain paper cut into strips.
- Retail shelf and product tags — one code per SKU linking to a product page, spec sheet, or care instructions, captioned with the SKU or product name.
- Event badges and table cards — a code per guest or table, generated from the same guest-list spreadsheet you already have.
- Print-shop production runs — a client's CSV in, a page-accurate PDF out, with no manual placement of individual images.
Why a PDF sheet instead of a folder of images
Bulk-exporting QR codes as individual PNG or SVG files is the right tool when those files are going into an existing design — a product listing, a packaging template, a slide deck. It's the wrong tool when the goal is simply "print these on paper," because then someone still has to place every image, size it consistently, add the caption, and make sure nothing collides with the next one across dozens or hundreds of labels.
The label workspace skips that step. It lays out the whole grid — page size, column and row count, margins, gaps between labels — and paginates automatically once a page is full, so a 500-row spreadsheet becomes a 21-page PDF you can send straight to a printer, not 500 files you still have to arrange.
What it costs to export a label sheet
- Unlimited single codes
- Bulk batches up to 20 codes
- One batch, up to 5,000 codes
- Custom filenames, ZIP export
- Unlimited batches, forever
- Logo on every code
- Printable label sheets
One-time payment, never a subscription. Compare all plans →
Questions
Is this different from just generating a bunch of QR codes?
Yes. Bulk generation gives you individual files — one PNG or SVG per row. A label sheet is a single laid-out PDF page: a grid of codes at a fixed size, spaced and margined to match real label stock or plain paper, with a caption printed under each one. You're not placing 200 separate images into a document by hand.
What page sizes are supported?
US Letter (8.5 × 11 in) and A4 (210 × 297 mm). Pick whichever matches your printer and paper stock.
Can I use actual peel-and-stick label sheets, not just plain paper?
Yes — set the columns, rows, margin and spacing to match your label sheet's own layout (most label brands publish these dimensions), and the grid lines up with the die-cut labels. Print a test page on plain paper first and hold it up to a blank label sheet to confirm alignment before running actual labels through the printer.
Do I need a spreadsheet, or can I generate a sample first?
You can preview the exact layout with sample data with no upload at all — the tool shows a live grid before you bring your own CSV.
What's under each QR code — just the code, or text too?
Whatever you map from your CSV as the caption — a SKU, a name, a short label. It prints directly under each code at a size you control.
Is this free?
Configuring a sheet — page size, grid, margins, captions, live preview — is free on any plan. Exporting the finished PDF requires Pro. A Batch Pass (the $7 one-time bulk-export tier) doesn't cover this specifically; see pricing for the full breakdown.
Does this upload my spreadsheet anywhere?
No. The CSV, the QR generation, and the PDF layout itself are all built in your browser tab. Nothing is sent to a server.
