Barcode help · Revised

EAN vs UPC vs Code 128: which barcode do I need?

Start with the system that receives the scan. A shop checkout needs a recognised product identifier; your stock application may accept a reference you create yourself; a customer’s logistics label may require a specific GS1 format. A barcode that scans successfully can still be the wrong choice for the job.

Separate the number from its picture. A GTIN identifies a trade item. EAN-13, UPC-A and ITF-14 are ways to represent identification data as bars. Code 128 is a general-purpose barcode symbology. Creating an image does not allocate a GTIN, register a product or create a record in a retailer’s database.

Have the required format and data? Use the generator to prepare the image, then test it in the receiving workflow.

Open the barcode generator

Choose by scanning workflow, not by appearance

A starting point for choosing a barcode; the recipient’s specification takes priority
Your situationStart hereConfirm before generating
A packaged product sold through a retailerThe accepted retail symbol, commonly EAN-13 or UPC-AThe assigned GTIN and the retailer’s format and artwork requirements
A very small retail packDiscuss EAN-8 or eligible UPC-E with GS1 and the retailerEligibility; neither is an arbitrary shortened EAN-13
An asset or stock location in your own systemConsider Code 128 if your application accepts itAllowed characters, identifier length and scanner settings
A customer’s existing industrial labelThe specified format, possibly Code 39Basic or extended encoding, check-character rules and exact data
An outer case identified by GTINConsider ITF-14 or GS1-128 as requiredPackaging-level identification and whether extra fields are needed
A carrier parcel label or logistics unitThe carrier’s label or the customer’s logistics specificationRequired identifiers, data syntax and label layout

Ask this first: “What barcode format and sample decoded value does your system expect?” A reply naming only a scanner model is incomplete: the software receiving the scan also has to understand the data.

What each format carries

Common linear formats and their main constraints
FormatDataImportant limitation
EAN-1313 digits including a check digitUse the assigned product identifier; digit count alone does not establish allocation
UPC-A12 digits including a check digitCommon on North American retail packaging; confirm the trading partner’s requirements
EAN-88 digits including a check digitCarries a GTIN-8 allocated for that purpose
UPC-EA compact representation of an eligible UPC-A identifierScanners may expand it to UPC-A; preserve the intended identifier in your system
ITF-14A GTIN represented as 14 digitsDoes not add batch, expiry or serial fields
Code 128ASCII data, with numeric-pair encoding availableNot arbitrary Unicode; supported input depends on the implementation
Basic Code 39A–Z, 0–9, space and the characters - . $ / + %Extended Code 39 is a separate mode requiring compatible decoding
GS1-128GS1 Application Identifiers and their data fieldsRequires GS1 encoding rules, including FNC1; ordinary Code 128 is insufficient

The current eToolPlus generator offers EAN-13, UPC-A, EAN-8, UPC-E, ITF-14, Code 128 and Code 39. GS1-128 is included here to explain the distinction, not to claim a supported GS1-128 export mode. Its Code 128 encoder rejects characters above ASCII 126 and limits input to 80 characters. Those are tool limits, not universal limits for every Code 128 implementation.

Dimensions are deliberately not reduced to one “standard image size” in this comparison. The encoded content, module width, bar height and quiet zones affect the footprint. Use the barcode size guide once the correct format is known.

EAN and UPC identify products; geography is only a starting clue

UPC-A is widely used in the US and Canada, while EAN-13 is common elsewhere. That convention is useful context, but your own location is not the deciding rule. Check the identifier already assigned to the product and the requirements of the retailer or marketplace. If you resell an existing branded product, obtain its authorised product data rather than inventing a replacement number.

What a leading zero changes—and what it does not

A UPC-A identifier can be represented as EAN-13 by adding a leading zero. That is a different-length representation of the same identifier, not a newly allocated product number. The reverse conversion is only possible for an EAN-13 beginning with zero. Do not remove a nonzero first digit to force another EAN-13 into a UPC-A field.

Keep identifiers as text in spreadsheets and imports. If leading zeros disappear, a correct symbol can end up connected to an incorrect lookup value. Ask whether the receiving system expects 12, 13 or a zero-padded 14-digit representation, and test the full import-and-scan process.

Small packs need an identification decision

EAN-8 carries a separately assigned GTIN-8. UPC-E compresses only eligible UPC-A numbers using defined zero-suppression rules. Neither option means deleting digits from the number on your existing product. Packaging space, allocation and retailer acceptance should be resolved together. See GS1’s EAN-8 guidance and the GS1 General Specifications.

For a new own-brand product, start with the product identification guide. A calculated check digit confirms a mathematical rule; it does not establish ownership, allocation or retailer registration.

Code 128 and Code 39: design the identifier before the label

For a system you control, Code 128 is worth testing when you need letters, digits and punctuation. It often takes less width than Code 39 for comparable content, especially long numeric runs. Basic Code 39 remains appropriate when an established application or customer requires it. See TEC-IT’s explanation of Code 128 encoding.

Example: identifying a shelf is different from identifying a product

A stock-location label might contain RACK-B-04; an asset label might contain EQ-002184. These are illustrative internal references, not allocated GTINs. Before generating a sequence, define which record each reference identifies, make it unique within the intended system and decide what happens when equipment is moved or retired.

The bulk and numbering tools help produce sequences, and label sheets help arrange them. Generating a sequence does not check it against identifiers already used in your asset database.

Cases, parcels and GS1-128: three different requirements

A trade-item case

ITF-14 can carry a case’s GTIN and is used on distribution packaging, including corrugated cartons. It does not carry a list of the products inside. The responsible organisation must assign the packaging-level identifier and associate it with the correct product and quantity.

An indicator digit is not a pack-count code. There is no universal rule that 1 means twelve units or 2 means twenty-four. Any illustrative assignment needs its own product record. Recalculating a check digit or using the generator’s carton-number helper does not authorise a new commercial identifier. See GS1’s packaging-level GTIN rules.

A label with batch, expiry or logistics data

A customer may require GS1-128 with Application Identifiers describing the fields. It uses Code 128 bar patterns with additional GS1 rules. Typing parentheses and numbers into an ordinary Code 128 input does not insert the required FNC1 or field separators. Obtain the customer’s data specification and use an encoder explicitly supporting it. GS1 explains the GS1-128 structure.

A carrier parcel or individually tracked logistics unit

Use the carrier’s generated label for its service. For a GS1 logistics workflow, ask whether an SSCC is required to identify the individual logistics unit. A case’s product GTIN and a logistics-unit identifier serve different purposes; adding a generic barcode to a box does not create a compliant shipping label. See the GS1 Logistic Label Guideline.

QR codes: distinguish a web link from retail identification

An ordinary QR code linking to your website is useful for instructions or customer support. It should not be assumed to provide the product identifier expected at checkout. However, it is also inaccurate to say that QR codes can never serve retail point-of-sale workflows.

GS1 specifies 2D retail options, including QR Code with GS1 Digital Link URI syntax. Adoption depends on retailer systems and the agreed transition plan. GS1’s industry ambition is for retail point-of-sale systems to read and process defined GS1 2D formats alongside existing linear codes by the end of 2027; that goal does not mean every checkout is ready today. Consult GS1’s Ambition 2027 explanation and its retail implementation guidance before changing packaging.

For ordinary website links, use the QR code generator. This guide does not claim that its general URL mode validates GS1 Digital Link syntax or provides a compliant retail packaging workflow.

Before ordering labels, check these five things

  1. Requirement: record the recipient’s accepted format, syntax and label specification.
  2. Identity: confirm that the number refers to the correct item, package level, asset or location.
  3. Data: compare the decoded value with the approved record, including zeros, punctuation and any expected formatting.
  4. Artwork: preserve quiet zones and required dimensions. Test the finished material after printing and applying the label.
  5. Acceptance: run a trial in the real receiving application. Arrange formal print-quality verification if the trading partner requires it; a camera decode is not a quality certificate.

Common questions

Can I use Code 128 for a shop’s checkout barcode?

Do not substitute ordinary Code 128 for the retail format requested by the shop. It can be useful for your own stock handling while the same product carries its required retail identifier. The retailer decides what its checkout accepts.

Does the check digit prove that a barcode number is genuine?

No. It detects certain number-entry errors. It does not establish who allocated the number or which product owns it. Confirm the identifier through the appropriate authorised records.

Does a UPC or EAN prefix tell me where the product was made?

Do not use the prefix as a country-of-manufacture statement. Product origin should come from the responsible supplier’s product information, not an assumption about the barcode number.

Will the barcode store a price?

A conventional product GTIN normally lets the retailer look up a product record containing its price. It does not automatically upload your price to the shop. Specialised variable-measure workflows have their own rules.

Can the same scanner read every format here?

Check both hardware and configuration. Some symbologies may be disabled, and a device able to decode a format may still feed data the application rejects. Test the format, data and receiving screen together.

Prepared by eToolPlus using the linked technical references and a review of the current generator’s supported formats. This guide explains selection; it does not issue identifiers or certify retail or logistics acceptance.