Home Batch Labels Complete Guide
PILLAR GUIDE

The Complete Guide to Batch Label Printing from Spreadsheets

Everything you need to know about printing labels from data — from preparing your spreadsheet to printing the final PDF. Covers CSV, Excel, Google Sheets with DYMO, Zebra, Brother, and Avery label printers.

Open the Label Editor →

1. What Is Batch Label Printing?

Batch label printing (also called variable data printing or mail merge) means creating one label template and using it to print many labels — each with different data. Instead of designing labels one by one, you:

  1. Design one template with placeholder fields like {{name}}
  2. Connect a data source (spreadsheet, CSV, Google Sheet)
  3. Export — each row in your data becomes a unique label

This is the same concept as Microsoft Word's "Mail Merge" feature, but purpose-built for labels and significantly easier to use.

2. Supported Data Sources

OpenLabelMaker accepts data from four input methods:

📁 File Upload

Drag & drop or browse. Supported formats:

  • • .csv (comma-separated)
  • • .tsv (tab-separated)
  • • .xlsx (Excel)
  • • .xls (Legacy Excel)
  • • .ods (LibreOffice)

🔗 Google Sheets

Paste a Google Sheets URL. The sheet must be set to "Anyone with the link can view". No OAuth or add-on needed.

Full Google Sheets guide →

📋 Paste

Copy cells from Excel, Google Sheets, Numbers, or any spreadsheet app and paste directly. Auto-detects tab/comma separation.

✏️ Manual

Type data directly in an editable table. Add rows, fill sequences. Good for small batches or sequential numbering.

3. Preparing Your Data

Good data = good labels. Follow these rules for clean imports:

Use simple column headersname, address, sku. Avoid spaces and special characters.
One row per label — each row in your spreadsheet becomes one label.
Headers in row 1 — the first row is always treated as column headers.
Remove empty rows — trailing empty rows at the bottom create blank labels.
Clean barcode values — no spaces, dashes only if your barcode format allows them.
Don't merge cells — merged cells in Excel break the CSV export.
Don't use formulas that return errors — #N/A or #REF! values will show up on your labels.

4. How Placeholders Work

Placeholders are the magic. Any text element on your label can contain {{column_name}} — and it gets replaced with real data from that column for each label.

Template:

{{name}}
{{address}}
{{city}}, {{zip}}

Output (row 1):

Jane Smith
123 Oak Street
Portland, 97201

Special placeholders:

5. Barcodes and QR Codes in Batch

Batch barcode labels are the killer feature. Each label gets a unique, scannable barcode generated from your spreadsheet data. Supported formats:

Code 128
Any text
EAN-13
13 digits
UPC-A
12 digits
QR Code
Any text/URL

Plus Code 39, EAN-8, and ITF-14. Full bulk barcode guide →

6. Sheet Labels vs Printer Labels

Batch output differs depending on your label type:

📄 Sheet Labels (Avery, HERMA)

Labels fill grid positions on A4/Letter pages. Row 1 = position 1, Row 2 = position 2, etc. When a page fills up, a new page starts.

  • • 200 addresses on Avery L7160 (21/sheet) = 10 pages
  • • Supports "Start at label" offset for partially used sheets
  • • Print on any inkjet or laser printer

🖨️ Printer Labels (DYMO, Zebra, Brother)

Each row = one page in the PDF. Page dimensions match the label exactly. The printer feeds one label per page.

  • • 500 products on DYMO 11354 = 500-page PDF
  • • Print settings: borderless, 100% scale, no margins
  • • Works with any thermal or direct-print label printer

7. Advanced Features

Repeat count

"Print each label ×" — print 5 copies of each product label. A 100-row CSV with repeat=5 becomes 500 labels.

Start-at-label offset

For sheet labels: if you've already used the first 7 labels on a sheet, set offset to 8 and printing starts at position 8. No wasted sheets.

Empty field collapsing

If a placeholder resolves to empty (cell is blank), the text element hides and remaining elements shift up. No ugly blank lines on your labels.

Auto-save with batch data

Your imported data is saved with your label design. Reopen the design later and the data is still there. Also exports in .olm.json save files.

Sequential numbering

Use {{#}} with the manual fill sequence feature. Generate numbered labels (001→500) without a spreadsheet.

8. Troubleshooting

Fields show {{field}} instead of data

The placeholder name must exactly match a column header in your data. Check for typos, spaces, or capitalisation differences. {{Name}}{{name}}.

Some barcodes don't render

Barcode formats have strict rules. EAN-13 requires exactly 12 or 13 digits. UPC-A requires exactly 11 or 12 digits. If your data doesn't match the format, the barcode fails to render. Use Code 128 for mixed/alphanumeric data.

Google Sheets import fails

Make sure your sheet is set to "Anyone with the link can view". Private sheets can't be fetched. Also check that the URL is a regular Google Sheets URL (not a shared drive or shortened link).

PDF generation is slow with 1000+ labels

This is normal — each label is rendered as a high-quality image in your browser. Give it 15–30 seconds. If it's too slow, try splitting your data into batches of 500.

Labels print misaligned on Avery sheets

In your print settings: set scale to 100% (NOT "Fit to page"), margins to "None", and make sure the paper size is A4 or US Letter as appropriate. Some printers have a small offset — do a test print with 1 page first.

9. Specific Guides by Data Source & Use Case

Ready to batch print?

Open the editor, pick a label size, design with {{placeholders}}, upload your data, and print. The whole process takes under 5 minutes.

Start Batch Printing →