Internal workflow formats
Code 128 encodes a broad character set efficiently and is useful for inventory, logistics and internal labels. Code 39 is simple and widely supported but is less compact and normally uses uppercase letters, digits and a limited set of symbols.
Retail formats
EAN-13, EAN-8 and UPC-A use fixed-length numeric identifiers and a check digit. A generator can calculate or validate that digit, but it cannot issue a legitimate retail product number. Obtain identifiers through the appropriate GS1 member organization and follow the retailer's requirements.
Print and verification
Leave the required quiet zones, avoid stretching the bars and maintain strong contrast. Thermal printer settings, label material and ink spread can change bar widths, so test a physical label with the exact scanner and workflow used at the destination.
Barcode format comparison
| Format | Best suited to | Important constraint |
|---|---|---|
| Code 128 | Compact internal, inventory and logistics labels | Receiving software must support the format |
| Code 39 | Simple alphanumeric internal identifiers | Less compact and limited character set |
| EAN-13 / EAN-8 | Retail trade items | Use an identifier assigned through GS1 |
| UPC-A | Retail items in UPC workflows | Requires a valid fixed-length number and check digit |
Pre-production checklist
- Confirm the symbology required by the receiving system
- Use an authorized GS1 identifier for retail products
- Validate the check digit
- Preserve quiet zones and bar proportions
- Test a physical production sample
Frequently asked questions
Does generating an EAN create a registered product number?
No. The graphic and check digit can be generated, but legitimate retail identifiers must be assigned through the relevant GS1 process.
Which format is best for internal inventory?
Code 128 is often compact and flexible, but the correct choice is the format supported by your scanners and software.