Bulk Barcode Labels — Generate and Print Hundreds for Free
You have a spreadsheet with 500 product SKUs. You need a barcode label for each one. Enterprise tools like BarTender cost $495/year. Here's how to do it for free.
Upload your inventory CSV → each row gets a unique barcode automatically → export as multi-page PDF → print. Works with Code 128, EAN-13, UPC-A, and QR codes.
How Bulk Barcode Labels Work
Your Inventory Data
Start with a spreadsheet of your products. The barcode value can be SKUs, EAN numbers, serial numbers — any text or number.
Design One Template with {{sku}} Barcode
Add a barcode element to your label. Set its value to {{sku}}. Add text for product name and price.
Choose barcode format: Code 128 for alphanumeric SKUs, EAN-13 for retail GTINs, QR for product URLs.
Upload CSV → Unique Barcodes Generated
Click Batch → Upload → drag your CSV. Each row gets its own barcode rendered at print quality. Preview shows all labels with real barcodes.
Export & Print
Download the multi-page PDF. Each page (or grid position for sheets) has a unique barcode label. Print on any label printer or inkjet/laser with sheet labels.
Which Barcode Format Should You Use?
| Format | Data Type | Best For | Example |
|---|---|---|---|
| Code 128 | Any text/numbers | Internal SKUs, serial numbers | WH-001-BLU |
| EAN-13 | 13 digits | Retail products (EU/worldwide) | 8710400001010 |
| UPC-A | 12 digits | Retail products (North America) | 012345678905 |
| Code 39 | Alphanumeric | Older systems, automotive | PART-2026 |
| ITF-14 | 14 digits | Shipping cartons, pallets | 08710400001017 |
| QR Code | Any text/URL | Product URLs, vCards, detailed info | https://... |
Not sure? Use Code 128 — it's the most versatile and works with any barcode scanner.
Who Needs Bulk Barcode Labels?
📦 Warehouse & inventory
Bin location barcodes, SKU labels for shelves, pallet labels. Print thousands on Zebra thermal or DYMO. Replace handwritten labels with scannable ones.
🏪 Retail & pricing
EAN-13 or UPC-A labels for products missing barcodes. Craft fair pricing labels with barcode + price. Boutique shops labelling incoming stock.
💻 IT asset management
Laptop, monitor, and phone asset tags with serial number barcodes. Print from your IT inventory spreadsheet.
📚 Libraries & archives
Book spine labels with call number barcodes. Archive box labels with reference codes. Batch print from catalogue export.
Free Alternative to BarTender for Bulk Barcodes
BarTender by Seagull Scientific is the industry standard for enterprise barcode labels — but it costs $495+/year. Here's how OpenLabelMaker compares for small-to-medium batch printing:
| Feature | OpenLabelMaker | BarTender |
|---|---|---|
| Price | Free | $495–$3,595/year |
| Platform | Any browser | Windows only |
| CSV/Excel import | ✓ | ✓ |
| Barcode formats | 7 + QR | 400+ |
| Database integration | ✗ | ✓ (SQL, ODBC) |
| RFID encoding | ✗ | ✓ |
| GS1-128 / GS1 Databar | ✗ | ✓ |
| Setup time | Instant (browser) | 30+ min install |
Verdict: OpenLabelMaker covers 90% of small-business barcode label needs. If you need GS1 compliance, RFID, or database-driven automation at enterprise scale, BarTender is worth the investment. For everything else, save $495/year.
FAQ
Will the barcodes scan correctly?
Yes. Barcodes are rendered using JsBarcode at print resolution. The PDF output is 300 DPI. They scan reliably with handheld scanners, POS systems, and smartphone cameras.
Can I print 5 copies of each barcode label?
Yes. Use the "Print each label ×" repeat count. Set it to 5, and each product in your CSV gets 5 identical labels. A 100-product CSV becomes 500 labels.
What's the minimum barcode width for scanning?
For Code 128 and EAN-13, aim for at least 25mm (1 inch) barcode width for reliable scanning. The label editor lets you resize the barcode precisely. For narrow labels (e.g. DYMO 11354 at 32×57mm), a Code 128 fits well horizontally.
Can I generate sequential barcodes without a CSV?
Yes. Use the {{#}} auto-numbering field in manual mode. Set a start number and count — each label gets the next sequential number as its barcode value.