Barcode guide

Code 128, EAN-13 or Code 39: which barcode format should I choose?

For users who are unsure which one-dimensional barcode format fits their business workflow.

Direct answer

Use Code 128 for internal IDs such as orders, assets, warehouse locations and tracking numbers. Use EAN-13 or UPC-A for retail product codes that must follow product-numbering rules. Use Code 39 mainly when older scanners or legacy systems require it.

How to choose among common 1D formats

Format
Best for
Notes
Code 128
Orders, assets, warehouse locations, tracking numbers
Flexible, compact and reliable for internal business IDs
EAN-13
Retail product barcodes
Requires valid product numbering rules and check digits
Code 39
Legacy industrial systems and simple equipment IDs
Wider than Code 128 and supports fewer characters

Recommended workflow

1

Start with the use case

If the barcode will appear on retail packaging, confirm marketplace, retailer or GS1 requirements before choosing a format.

2

Use Code 128 for internal IDs

Orders, assets, bins, batches and tracking values usually work best with Code 128.

3

Use Code 39 only for compatibility

Choose Code 39 when older scanners or systems require it.

4

Validate characters and length

EAN-13 has strict numeric rules, Code 39 has a limited character set and Code 128 is more flexible.

5

Test with real devices

Before printing a large run, scan the barcode with your actual scanner and system.

Common mistakes

Using random EAN-13 numbers as retail product codes.
Choosing a numeric-only standard for mixed alphanumeric internal IDs.
Checking only the generated artwork without testing the scanner, POS or inventory system.

FAQ

What is the main difference between Code 128 and EAN-13?

Code 128 is for flexible internal IDs, while EAN-13 is a standard retail product barcode with fixed numeric rules.

Can Code 128 be used on product packaging?

Yes, for internal, logistics or batch labels. For retail checkout or marketplace listing, product codes usually need EAN-13, UPC-A or another accepted product barcode standard.

Is Code 39 still useful?

Yes, especially in legacy industrial systems. For new workflows, Code 128 is usually more compact and flexible.