Code 128 vs EAN-13 vs UPC-A Barcodes

Updated 2026-09-08.

Choose a barcode from the identifier system and scanning workflow, not from appearance alone. Code 128 accepts letters, numbers, spaces, and common punctuation in this tool, so it suits internal SKUs, order references, and other values your own workflow controls. EAN-13 and UPC-A are numeric retail symbols for identifiers you already have.

Standard Code 128 and GS1-128 are not interchangeable labels. GS1-128 uses the Code 128 symbol with an FNC1 character and GS1 Application Identifiers that describe fields such as a serial number, batch, or expiry date. OpenToolSuite currently creates standard Code 128 only; it does not insert FNC1 or validate GS1 Application Identifier data.

EAN-13 uses 13 digits and UPC-A uses 12. If you enter the first 12 EAN-13 digits or first 11 UPC-A digits, the tool calculates the final check digit. If you enter the complete value, it verifies that digit before drawing the barcode. This arithmetic check does not assign a GTIN, register a GS1 Company Prefix, or prove that a product identifier belongs to you.

For a transparent arithmetic example, EAN-13 input 123456789012 produces check digit 8, while UPC-A input 12345678901 produces check digit 2. These are test values for checking the calculator, not registered product numbers for commercial use.

Download the PNG, scan the saved image, and print one sample at the size and on the material you plan to use. Check that no text, border, crop, or nearby design enters the blank quiet area around the bars. A successful on-screen preview does not certify printer resolution, ink spread, contrast, packaging curvature, or retailer acceptance.

The entered value is encoded and drawn to a canvas in this browser session. It is not uploaded to an OpenToolSuite barcode service. The tool does not need a product file or account, but your browser, extensions, backups, and any destination where you later upload the PNG remain outside that claim.

Worked example · illustrative input

Check sample digits before printing

TypeExample inputExpected result
Code 128OTS-1042Letters, digits, and hyphen encode as entered
EAN-13123456789012Check digit 8; completed value 1234567890128
UPC-A12345678901Check digit 2; completed value 123456789012

The EAN-13 and UPC-A numbers are arithmetic examples only; they are not registered product identifiers. A valid check digit does not prove ownership. Scan the downloaded PNG and one printed label. Use GS1-128 only with software that supports FNC1 and GS1 Application Identifiers; this tool creates standard Code 128.

Reference: GS1 barcodes and General Specifications

Reference: GS1 one-dimensional barcodes for general distribution

Reference: GS1: 10 steps to barcode your product

Open Barcode Generator

All guides