How to Create Barcode Labels from a CSV File
A CSV file is the simplest way to move product data into a barcode label generator. It is plain text, works in any spreadsheet app, and is easy to generate from inventory software or online stores. This guide walks through preparing a CSV, validating the data, and generating labels with Batch Label Studio Pro.
Step 1 — Prepare your CSV columns
The minimum useful CSV has two columns: one for the barcode type and one for the value. A more complete CSV adds a label name and optional fields such as location or quantity.
| Column | Example values | Purpose |
|---|---|---|
| barcode_value | SKU-001, 036000291452 | The data encoded in the barcode |
| barcode_type | code128, upca, ean13, qr | Which barcode standard to use |
| label_name | Widget A, Blue T-Shirt L | Title printed on the label |
| description | Size: L, Colour: Blue | Optional second line of text |
| quantity | 1, 4, 10 | How many copies of this label to print |
Column names do not need to match exactly. During import you map each CSV column to the corresponding label field.
Step 2 — Save with the right delimiter and encoding
The CSV preview tool and Batch Label Studio Pro both accept comma-separated files. The Pro importer also auto-detects tab and semicolon delimiters. If you are unsure, use commas.
Save the file as UTF-8. This ensures special characters — accented letters, currency symbols, or non-English product names — appear correctly on the labels. Avoid UTF-8 with BOM (Byte Order Mark) if your editor gives the option; the BOM is harmless in most cases but unnecessary.
Widget, Blue, write it as "Widget, Blue" in the CSV so the comma is not treated as a column separator.Step 3 — Protect leading zeros
Spreadsheets often treat numeric-looking values as numbers and strip leading zeros. A UPC-A value like 036000291452 becomes 36000291452, which is invalid.
- Format the barcode column as Text before entering data.
- Prefix each value with a single quote when typing:
'036000291452. The quote is not exported to the CSV. - Open the exported CSV in a text editor and verify the leading zeros are still present.
Step 4 — Validate your CSV before importing
Use the free bulk barcode CSV preview tool to paste a few rows and check for errors. The validator catches:
- Missing or misspelled barcode_type and value columns
- Unsupported barcode types
- Wrong digit counts for UPC-A or EAN-13
- Invalid check digits
- Characters not allowed in the chosen symbology
Fix the source file, then re-paste until every preview row shows valid. This is faster than discovering errors after a full batch export.
Step 5 — Import and generate labels
- 1.Open Batch Label Studio Pro and drag the CSV onto the import area, or click Browse. The file is read locally — nothing is uploaded.
- 2.Map the barcode column to the barcode value field, and the label_name column to the label title field. If all rows use the same type, set it once instead of using a column.
- 3.Choose a label template. Pro includes Avery label sheets, Zebra thermal sizes, and custom millimetre dimensions.
- 4.Click Generate and export as PDF for direct printing, or ZIP of PNGs if you need individual image files per row.
CSV vs Excel — which should you use?
| Factor | CSV | Excel (XLSX) |
|---|---|---|
| File size | Very small | Larger |
| Leading-zero risk | Lower when saved as Text | Higher unless column is Text |
| Editability | Any text editor or spreadsheet | Spreadsheet only |
| Version control | Easy to diff in Git | Difficult to compare |
| Import speed | Fast | Fast |
CSV is the better choice when your data comes from another system (inventory software, e-commerce platform, ERP) or when you want a lightweight file that is easy to inspect. Excel is fine for manual data entry, especially with multiple sheets or formulas.
Related Guides & Tools
Frequently Asked Questions
Import your CSV and generate every label at once
Batch Label Studio Pro imports your Excel or CSV file and generates every barcode label locally — no uploads, no server, no subscription.
Get Pro — $29.99One-time purchase. Works offline.