Premium apps Part of Printshop

Label Sheet Maker with CSV Mail Merge

Address labels, name badges and product labels from a CSV, for any sheet layout.

More options

Distance from the left edge of one label to the left edge of the next.

Use {Column} for values from the CSV header.

Template for the code, for example {SKU} or https://example.com/{Id}.

The text shrinks automatically when it does not fit.

Skip labels already used on a partly used sheet (counted row by row).

Useful for a test print on plain paper; usually off for real label sheets.

Try an example: Address labels on a 3 × 8 sheet · Jar labels with a QR code, starting at label 4 · Custom 2 × 3 badges

More about this tool

How it works

Fill a sheet of labels from CSV rows with a {Column} template: address labels, name badges, jar and product labels. Use a generic sheet layout or enter your own geometry, skip labels already used, add a QR code or barcode per label and print a true-size PDF.

  • CSV is read after RFC 4180 (quoted fields, doubled quotes, line breaks inside quotes); comma, semicolon or tab is detected from the header line. Each row fills the {Column} placeholders of the template.
  • Label n sits at left + column × horizontal pitch, top + row × vertical pitch, filled row by row; “start at” skips used positions on the first sheet. Presets are generic dimension sets (no brand or product numbers).
  • Text is wrapped to the label width and reduced in 10 % steps until it fits; labels whose text still does not fit are counted as overflow. A QR code takes up to 45 % of the width; barcodes sit at the bottom.

Printers shift paper by up to a millimetre or two. Print one test page on plain paper, hold it against a label sheet and adjust the margins before printing on labels.

Sources

Part of Printshop

  • Printshop Printables studio

    QR codes, calendars, labels, graph paper and posters — print-perfect PDFs in seconds.

    Open Printshop

Related tools

How to use the Label Sheet Maker with CSV Mail Merge

Fill address, product or name labels from CSV rows with placeholders, add a QR code or barcode per label and match any sheet by its measurements.

What it is for

You have a list — addresses, jars, asset numbers, conference names — and a pack of label sheets. This tool merges CSV rows into a label template and lays the labels out on the sheet, as a true-size PDF with SVG and PNG previews. Each label can also carry its own QR code, Code 128 or EAN-13 barcode built from the row.

Sheets are chosen from generic layouts named only by their measurements (for example A4 · 3 × 8 · 70 × 37 mm) or entered by hand. The tool does not know brand product numbers; read the measurements from your package.

Worked example

The default run uses the A4 · 3 × 8 · 70 × 37 mm sheet and two address rows. The template {Name} / {Street} / {Postcode} {City} fills 2 labels on 1 sheet with 24 positions; no text was cut.

The jam-jar example uses the A4 · 3 × 7 · 63.5 × 38.1 mm layout, a CSV with the columns Product, Date and Code, the text {Product} / Best before {Date} and QR code with the code content {Code}. It starts at label 4, because the first three labels of the sheet were used before: 2 labels, 21 per sheet, each with its own QR code linking to the product page.

For name badges we entered custom measurements: 2 × 3 labels of 90 × 80 mm, top margin 18.5 mm, left margin 12 mm, pitch 96 × 88 mm, centred text at 8 mm. Result: 3 labels on a sheet of 6.

How to read the result

  • Labels and CSV records: how many labels were printed and how many data rows were read (copies multiply the rows).
  • Labels per sheet and Sheets: the layout; skipped start positions count towards the first sheet.
  • Labels with cut text: labels where the text did not fit. Reduce the font size or the number of lines.
  • missingFields: placeholders that are not CSV columns — they print literally.
  • codeErrors: rows whose code content could not be encoded (for example letters in an EAN-13).
  • Open in the app loads the layout into Printshop; the CSV rows are left out of that link for privacy.

Tips and common mistakes

  • Print one page on plain paper with outlines and hold it over the label sheet against a window before using the real sheet.
  • Pitch is edge-to-edge distance to the next label, not the gap. A 63.5 mm label with a 2.5 mm gap has a 66 mm pitch.
  • Column names are case-sensitive: {city} does not match a column City.
  • Use startAt for half-used sheets instead of deleting rows.
  • Spreadsheets in many European locales export semicolons; the tool detects comma, semicolon and tab.
  • Long QR content makes small modules on small labels — keep code text short.

FAQ

How many labels can I print at once?

Up to 5,000 CSV rows; the PDF grows with each sheet.

My text is slightly off on the real sheet. What can I adjust?

Measure the top and left margins of the first label and the pitch on the sheet and enter them as custom measurements. Printers can also shift the page by a millimetre.

Can I use round labels?

Yes — the round 40 mm and 2 in layouts, or tick round in the custom measurements.

Are my addresses uploaded?

The tool runs on the server for API calls; in the Printshop app the merge runs in your browser and share links never contain the rows.

Guide last updated:

For scripts and AI agents

  • JSON API: POST https://printshoplabelsheet.usefulweb.app/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://printshoplabelsheet.usefulweb.app/mcp · tool name printshop_label_sheet
Example request
curl -s -X POST https://printshoplabelsheet.usefulweb.app/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{}'
Feedback · ideas & bug reports welcome