Free Code 128 Barcode Label Maker
Barcode labels are essential for inventory management, retail products, warehouse operations, library systems, and asset tracking. A simple barcode sticker can automate what would otherwise require manual data entry : saving hours of work and dramatically reducing errors. This guide covers barcode formats, label sizes, printing tips, and how to create barcode labels for free.
Understanding Barcode Formats
Different industries and use cases require different barcode formats. Here are the most common ones you'll encounter:
1D Barcodes (Linear)
- UPC-A : The standard 12-digit barcode on retail products in the US and Canada. Required for selling in physical retail stores. You need a GS1 membership to obtain legitimate UPC numbers.
- EAN-13 : The international equivalent of UPC, used in Europe and worldwide. 13 digits. If you sell internationally, EAN-13 is the standard.
- Code 128 : A high-density barcode that can encode all 128 ASCII characters. Widely used for shipping labels, inventory, and logistics. FedEx and UPS use Code 128 on their labels.
- Code 39 : An older, simpler format that encodes uppercase letters, digits, and a few special characters. Common in government, military, and healthcare applications. Easy to generate but lower density than Code 128.
- Interleaved 2 of 5 (ITF) : A numeric-only, high-density format used on case-level packaging in warehouses. Often seen on shipping cartons.
2D Barcodes
- QR Code : Stores up to 4,296 characters. Scannable with any smartphone camera. Ideal for linking to URLs, contact info, or text data. See our QR Code Labels guide for more details.
- Data Matrix : A compact 2D barcode used in electronics manufacturing, pharmaceutical packaging, and small-part marking. Can be printed very small while remaining scannable.
Choosing the Right Label Size
Barcode labels need to be large enough for reliable scanning. The minimum size depends on the barcode format and the scanner type:
- UPC/EAN retail labels: Standard size is 1.469″ wide × 1.02″ tall (100% magnification). Can be reduced to 80% for small packages, but never below that or scanners will struggle.
- Code 128 / Code 39 labels: Minimum bar height of 0.5″ (15mm). Width depends on the data length. A typical 10-character Code 128 barcode at 100% is about 2″ wide.
- Inventory / asset labels: Common sizes are 1.25″ × 1″, 2″ × 1″, and 3″ × 1″. Include space for human-readable text below the barcode.
- Shelf labels: 2″ × 1.25″ or 3″ × 1.25″ with the barcode, price, and item description.
How to Print Barcode Labels at Home
You don't need industrial equipment to print scannable barcode labels. Here's what you need:
- A laser printer (recommended) : Laser printers produce the sharpest edges on barcode bars, which improves scan reliability. Inkjet printers work but may produce slightly fuzzy edges, especially on glossy label stock.
- Label sheets or rolls : For sheet-fed printers, use Avery-compatible label sheets in your desired size. For thermal printers (like a DYMO LabelWriter), use compatible roll labels.
- A barcode generator : printshi currently generates Code 128 for ASCII inventory IDs, SKUs, and internal tracking values. Enter the value and the editor enforces a scan-safe minimum width.
Print Quality Checklist
- Print at 300 DPI or higher. Lower resolutions cause thin bars to merge or disappear.
- Use black ink on white labels for maximum contrast. Colored barcodes are harder to scan.
- Don't stretch or compress the barcode : always print at the correct aspect ratio.
- Leave a quiet zone (blank space) of at least 0.25″ on both sides of a 1D barcode.
- Test scan every batch with your actual scanner before applying labels to products.
Batch Printing Barcode Labels
If you need many labels with sequential or unique barcodes, prepare the identifiers in a spreadsheet first. The current CSV importer is optimized for address text; arbitrary per-row barcode binding is a planned workflow, not a feature we want to overpromise today.
- Create a spreadsheet (CSV) with a column for the barcode data (product IDs, serial numbers, SKUs).
- Create and test a representative Code 128 label in the editor.
- Duplicate the label pages and change each value, or use dedicated variable-data barcode software for a large batch.
- Print one test first and verify it with the scanner used in production.
This approach scales from dozens to thousands of labels without manual data entry for each one.
Create Your Barcode Labels
printshi generates Code 128 and QR codes directly in your browser. Code 128 is appropriate for internal inventory, asset, and workflow identifiers. For retail UPC/EAN symbols, obtain an authorized number through GS1 and use a generator that supports the required retail format.
Start Making Labels >Frequently Asked Questions
- What barcode format should I use?
- Code 128 is the most versatile — it supports letters and numbers and is used for shipping, inventory, and asset tracking. UPC-A is required for retail products in North America. EAN-13 is the international equivalent.
- Can I generate barcodes without special software?
- Yes. printshi generates scan-safe Code 128 barcodes directly in the browser. It does not currently generate UPC, EAN, Code 39, or carrier-issued postage barcodes.
- What size should barcode labels be?
- The barcode itself should be at least 1.5" wide and 0.5" tall for reliable scanning. Leave a quiet zone (blank space) of at least 0.25" on each side. A 2" x 1" label works well for most barcode applications.
- Do I need to buy UPC codes?
- For retail distribution, obtain an authorized GTIN through GS1 and use software that generates the UPC or EAN format your retailer requires. For internal inventory tracking, use Code 128 with your own identifiers.
- Can I print barcode labels on a thermal printer?
- Yes. Thermal printers produce crisp barcodes that scan reliably. printshi supports 4x6 thermal label sizes and smaller custom sizes for barcode labels.
- How do I test that my barcodes scan correctly?
- Print a test label and scan it with a barcode scanner app on your phone. Check that the scanned value matches what you encoded. Always test before printing a full batch.