Complete Guide to Barcode Types: Which Format Do You Actually Need?
Barcodes are everywhere β on product labels, shipping boxes, library books, even your boarding pass. Yet most people don't realize there's no such thing as "the" barcode format. There are dozens of different barcode types, each designed for specific purposes. Using the wrong format can mean your products won't scan in retail stores, your shipments won't track properly, or worse, your inventory system breaks. The good news? Once you understand which barcode format fits your needs, generating one takes seconds.
The Two Families: 1D and 2D Barcodes
All barcodes fall into two main categories: one-dimensional (1D) and two-dimensional (2D).
1D Barcodes (Linear Barcodes)
These are the classic barcodes you see everywhere β a series of vertical black and white lines of varying widths. They encode data horizontally in one direction, which is why they're called "one-dimensional." Common examples include CODE128, EAN-13, UPC-A, and Code39. They can be read by any standard barcode scanner and are simple to print.
The main limitation is data capacity. A 1D barcode typically holds 15-30 characters. That's why a UPC code on a product just contains the product ID β the actual product details live in a separate database.
2D Barcodes (Matrix Barcodes)
These encode data in two dimensions β both horizontally and vertically β creating patterns like QR codes and Data Matrix codes. They can store significantly more information: a typical QR code holds 3,000+ characters compared to a 1D barcode's 30. They're also more resilient to damage and can be read from any angle.
The trade-off? They require a smartphone camera or specialized 2D scanner, whereas 1D barcodes work with basic laser scanners that have been around for decades.
The Most Common 1D Barcode Formats
CODE128 β The Workhorse
CODE128 is the most versatile 1D barcode format. It can encode all ASCII characters β letters, numbers, punctuation, everything. It's compact (shorter than other formats for the same data) and incredibly reliable. Most businesses use CODE128 for internal logistics, warehouse management, and any situation where you need to encode custom data like order numbers or serial codes.
Use CODE128 when: You need flexibility to encode any characters, you're managing inventory internally, or you're creating shipment labels.
EAN-13 β The European Standard
EAN-13 (European Article Number) is the standard product barcode in Europe, Asia, and Australia. It's a 13-digit code that includes the country prefix, manufacturer code, and product code. You'll see it on almost every retail product outside the US. Retailers in these regions require EAN-13 codes for products to scan at checkout.
Use EAN-13 when: You're selling products in Europe, Asia, Australia, or any country outside North America, or when a retailer explicitly requires it.
UPC-A β The North American Standard
UPC-A (Universal Product Code) is the barcode standard for retail products in North America. It's 12 digits and mandatory for selling in US and Canadian retail chains like Walmart, Target, and Amazon. Every product sold in these retailers has a UPC-A code. Interestingly, UPC-A is actually a subset of EAN-13 β you can read a UPC code with an EAN-13 scanner.
Use UPC-A when: You're selling physical products in US or Canadian retail stores, or through major online retailers that require barcodes.
Code39 β The Legacy Format
Code39 was widely used in manufacturing and logistics before CODE128 became standard. It can encode numbers, uppercase letters, and some special characters. You still see it on military equipment, automotive parts, and in some healthcare settings. If your industry has been using Code39 for decades, you might still need it for compatibility, but it's less dense than CODE128 (requires more space for the same data).
Use Code39 when: Your industry standard or legacy system requires it. For new projects, CODE128 is a better choice.
ITF-14 β For Shipping Cartons
ITF-14 (Interleaved 2 of 5) is used specifically for shipping cartons and cases in retail supply chains. Retailers expect this format on case labels because they need to differentiate between individual products (UPC-A) and bulk cases (ITF-14). If you're shipping cases of products to retailers, you need ITF-14 on the outer carton.
Use ITF-14 when: You're shipping cases or cartons of products to retail distributors. This is required for retail fulfillment.
When Each Format Actually Matters
Choosing the wrong barcode format wastes time and money. Here's a quick decision guide:
| Your Situation | Recommended Format | Why |
|---|---|---|
| Selling in US/Canada retail | UPC-A | Required by major retailers |
| Selling in Europe/Asia retail | EAN-13 | Regional retail standard |
| Internal warehouse/inventory | CODE128 | Most flexible and compact |
| Shipping cases to retailers | ITF-14 | Retail supply chain standard |
| Need to store lots of data | QR Code | 2D format, 100x more capacity |
| Legacy manufacturing system | Code39 | Compatibility with old equipment |
Generating Barcodes Without Paying for Software
You don't need expensive software like Adobe Illustrator or barcode libraries to create barcodes. Online barcode generators handle everything:
Online Barcode Generator Workflow
- β Choose your barcode format (CODE128, EAN-13, UPC-A, etc.)
- β Enter the data (product ID, order number, etc.)
- β Customize size, border, and resolution
- β Download as PNG, SVG, or PDF
The barcode is generated using client-side JavaScript β your data never leaves your browser, and the process takes seconds. You can generate hundreds of barcodes by uploading a CSV file with product IDs.
Try our free barcode generator to create unlimited barcodes in any format. No signup, no limits, no watermarks.
Common Mistakes People Make with Barcodes
1. Ignoring Quiet Zones
Every barcode needs blank space (the "quiet zone") on both sides. Without it, scanners can't read the barcode. Make sure your barcode generator includes this automatically, and don't print your barcode right up to a colored background or border.
2. Printing Too Small
A barcode that looks good on your screen might be unreadable when printed. For 1D barcodes, a typical minimum height is 0.5 inches (12mm). If your barcode is smaller than a postage stamp, it won't scan reliably in retail environments.
3. Using the Wrong Format for Your Channel
Putting UPC-A on products destined for European retailers won't work β they expect EAN-13. Using CODE128 for retail products means you'll have to manually assign your own product ID, which defeats the purpose. Know your distribution channel before you generate barcodes.
4. Forgetting About Print Quality
Download your barcode as SVG or high-resolution PNG, not JPEG. JPEG compression introduces artifacts that can confuse barcode scanners. Vector formats like SVG are best because they print crisp at any size.
5. Storing Data Only in the Barcode
A barcode doesn't store detailed product information β it's just a lookup key. The barcode references a database entry. Never assume all the information you need is in the barcode itself. For products sold to retailers, your product details must be in a backend database that matches the barcode.
6. Not Testing Before Printing in Bulk
Generate one test barcode, print it out, and verify it scans with your scanner before you print 10,000 labels. Test with the actual scanner you'll use in your warehouse or store.
When to Use QR Codes Instead
QR codes are a special case. They're 2D barcodes that can store URLs, contact information, or large amounts of text. A standard QR code can hold 3,000+ characters versus 30 for CODE128. They don't require a scanner β any smartphone camera can read them.
Use QR codes when you want customers to access information (a product page, warranty form, contact details) or when you need to store more data than a 1D barcode allows. For simple product tracking and retail checkout, traditional 1D barcodes are still the standard.
Check out our free QR code generator if you need to create dynamic codes that work with smartphones.
Key Takeaway
Don't overthink barcode selection. If you're selling to retail, use UPC-A (North America) or EAN-13 (everywhere else). For internal use, CODE128 is your best friend. For shipping cases, use ITF-14. For everything else, QR codes work fine. Generate your barcodes with a free tool, test one before printing in bulk, and you're done.
Generate Your Barcode Now βRelated Tools
Barcodes are just part of the puzzle. These tools complement barcode generation for product labeling and inventory:
- QR Code Generator β For 2D codes that store URLs, contact info, and large datasets
- Label Designer β Create professional product labels with barcodes and graphics
- CSV to Barcode Batch Converter β Generate thousands of barcodes from a spreadsheet
Intellure Team
The Intellure team builds free, privacy-first online tools that work entirely in your browser. We write guides to help you get the most from our tools and the web, sharing practical tips and insights from our experience as developers and makers.
Try These Free Tools
Related Articles
5 Free Online Tools Every Developer Needs
Discover the essential free online tools that every developer should bookmark β from JSON formatting and regex testing to Base64 encoding and UUID generation.
JSON Formatting and Validation: A Developer's Quick Guide
A practical guide to JSON formatting, validation, and common mistakes. Learn JSON best practices and how to convert between JSON and CSV quickly.
JSON vs YAML: Differences, Use Cases, and When to Use Each
A practical comparison of JSON and YAML β syntax differences, strengths, weaknesses, and when to use each format for configuration, APIs, and data exchange.