Generators Comparisons
Code 128 vs EAN-13: choose the right barcode for your label
Compare Code 128 and EAN-13, learn what check digits do, and understand why creating a barcode image does not assign a retail product identifier.
Both formats turn data into scannable bars, but they are not interchangeable labels for the same job. An internal stock code can contain letters. A retail product identifier follows a specific numbering system. Choose the data and receiving system first, then generate the artwork.
Compare the data each format accepts
ToolBarKit’s Code 128 option accepts printable ASCII text, making it suitable for your own codes such as BOX-0042. Its EAN-13 option accepts a 12-digit body to calculate the final check digit, or a complete 13-digit value to validate. Preserve leading zeroes by treating identifiers as text.
| Feature | Code 128 in ToolBarKit | EAN-13 in ToolBarKit |
|---|---|---|
| Input | Printable ASCII text | 12 or 13 digits |
| Example task | An internal bin or stock label | Artwork for an assigned retail identifier |
| Letters allowed | Yes | No |
| Check handling | Symbol checksum generated | Final digit calculated or validated |
A barcode image is not a registered product number
GS1’s EAN/UPC family is widely used at retail checkout. The product identifier must be appropriately assigned for the trading relationship; drawing bars around arbitrary digits does not make those digits your globally unique product identifier. Confirm requirements with the retailer or marketplace and the relevant GS1 organization.
Code 128 also does not automatically mean GS1-128. GS1-128 has additional structured data conventions. ToolBarKit’s plain Code 128 output should not be presented as a GS1-128 shipping label.
Sources: GS1: EAN/UPC barcode family · GS1: steps to barcode a product
What the EAN-13 check digit actually checks
For a 12-digit EAN body, multiply alternating digits from left to right by 1 and 3, add the results, then choose the final digit that makes the total a multiple of 10. GS1 documents this calculation. A check digit helps detect some input errors; it does not verify product authenticity or barcode ownership.
Example body: 400638133393
Weighted sum: 89
Check digit: (10 - (89 mod 10)) mod 10 = 1
Complete example: 4006381333931- Use the example only to understand the calculation, not as your product number.
- Double-check the source identifier before generating artwork.
- If a supplied 13-digit code fails validation, investigate instead of forcing a different digit.
Test the complete label workflow
Generate your chosen format, download SVG for a scalable layout or PNG at an appropriate size, and keep clear space around the bars. Do not squash the artwork horizontally to fit a tiny label.
Scan a printed sample with the actual scanner and software that will receive it. Confirm the scanned value matches the intended identifier, including leading zeroes. A phone recognizing a number is useful, but it does not replace a retailer’s barcode-quality and acceptance requirements.
Common questions
Can I use any 13-digit number on a product?
A valid check digit alone does not establish an assigned retail identifier. Obtain and use product numbers according to your retailer’s requirements and the applicable GS1 process.
Can I put letters in an EAN-13 barcode?
No. EAN-13 uses numeric identifiers. For your own alphanumeric labels, check whether your receiving system accepts Code 128.
Sources and further reading
This guide combines the linked references with examples and the current behavior of ToolBarKit’s tools. Published by the ToolBarKit team; external guidance and tool behavior can change.