Overview

This page covers how to display, store, and validate GTINs so that human-readable digits always correspond to the encoded data. Barcode formatting is the bridge between the black-and-white pattern a scanner reads and the human readible interpretation numbers printed beneath it.

Why human-readable digits must match encoded data

Every retail barcode carries two representations of the same identifier:

  • Machine-readable: the optical pattern of bars and spaces
  • Human-readable: the printed digits below (or beside) the symbol

These must be identical. If a printer drops a leading zero, a designer inserts hyphens into the encoded data, or a data-entry clerk transposes two digits, the barcode becomes unreliable. Retailers and marketplaces treat mismatches as defects. GS1 guidelines stress that the human-readable interpretation (HRI) should reflect the data encoded in the symbol without alteration.

Possible mismatch scenarios

ScenarioRisk
Leading zero omitted in printGTIN-8 or GTIN-12 becomes unrecognisable; length change alters check digit
Hyphens treated as data charactersEncoding error; scanner reads invalid string
Spaces inserted for readabilityEncoding error; scanner reads invalid string
Font substitution changes digit shapes”1” and “l” confused; manual verification fails
OCR-B font not used for HRINon-standard appearance; artwork verification could fail, if performed

Leading zeros: storage, display, and encoding

GTINs are fixed-length numbers. A GTIN-13 has 13 digits, a GTIN-12 has 12, and a GTIN-8 has 8. The leading digits (including any zeros) are part of the identifier itself.

Storage rules

  • Always store the full length. An example: A GTIN-12 of 00614141000452 must not be stored as 614141000452 in databases or spreadsheets.
  • Use text fields, not numeric fields. Spreadsheet programs like Excel strip leading zeros from numeric cells. Prefix an apostrophe or format the column as text before import.
  • Include the check digit. The final digit is calculated from the preceding digits and should also be saved.

Display rules

  • Print all digits without truncation. Continuing with the example: The HRI must show 0 0614141 000452 or 00614141000452, never 614141000452.
  • Do not add leading zeros to reach a desired length. A genuine GTIN-8 should not be padded to 12 or 13 digits. Adding left pad zeroes will alter the check digit calculation. Store the GTIN in its full correct length. The sole exception to this GTIN-12. Adding a leftpad zero to a GTIN-12 will not alter the check digit and this a GTIN-12 can be encoded as an EAN-13 symbology by adding a leftpad zero.

Hyphens, spaces, and other separators

GS1 standards permit visual grouping of digits for easier human reading. However, these separators are display-only and must never enter the encoded data or the stored value.

Correct practice

ContextExample
Stored / encoded data09420001234531
Printed HRI with spacing0 942000 123453 1 or 09420001234531
Marketplace upload09420001234531 (no spaces)

Incorrect practice

  • Encoding 0-942000-123453-1 into the barcode symbol
  • Uploading 09420 00123 4531 to Amazon, eBay, or Google Shopping
  • Storing with hyphens in a master data system

Most validation tools and marketplace feeds reject non-numeric characters. The GTIN validator from International Barcodes Network flags these automatically.

Font and placement of human-readable text

GS1 specifications recommend OCR-B as the typeface for HRI. It is monospaced, highly legible, and designed for optical character recognition. While some artwork teams substitute similar fonts, OCR-B remains the safest choice for global retail acceptance.

Placement guidelines

  • Position HRI below the barcode symbol, left-aligned with the start of the bars
  • Maintain quiet zones: blank space to the left and right of the symbol must remain free of text
  • Minimum height varies by symbology; for EAN-13, the nominal module height is 22.85 mm with HRI beneath

For detailed print specifications, see packaging artwork checks.

Validation before print or upload

Every GTIN should pass three checks before it reaches a label, package, or marketplace listing:

  1. Length check: Confirm 8, 12, 13, or 14 digits as appropriate
  2. Check digit verification: The final digit must mathematically validate against the preceding digits; see check digits for the algorithm
  3. Character set check: Digits 0–9 only; no letters, hyphens, or spaces

Tools for validation

ToolPurposeLink
GTIN ValidatorCheck digit, length, and formatbarcodes.ph/gtin-validator
GS1 GTIN overviewOfficial ID key documentationgs1.org/standards/id-keys/gtin
GS1 UK barcoding guidePrint and design best practicesGS1 UK PDF

The GTIN validator from International Barcodes Network is particularly useful for quick checks during data entry or before sending artwork to print.

Data entry discipline

Teams handling large GTIN volumes—be it spreadsheets, ERP systems, or marketplace feeds—should adopt these habits:

  • Standardise on plain text. No auto-formatting, no scientific notation, no thousand separators
  • Validate at point of entry. If you operate your own tools (such as batch validators) and forms, embed check-digit verification within them
  • Audit trailing characters. Spaces, tabs, line breaks, and other invisible special characters could be hidden in pasted output from emails or PDFs

For a catalogue of validation failures and how to resolve them, see common validation errors.

Summary checklist

  • Stored GTIN matches printed HRI exactly
  • Leading zeros preserved in all systems
  • No hyphens, spaces, or other characters in encoded data or uploads
  • Check digit verified before print
  • OCR-B or equivalent font used for HRI
  • Validation run through independent tool or algorithm

Consistent formatting protects scan reliability, marketplace compliance, and brand credibility. Treat the human-readable number as a precise copy of the machine-readable data—not a suggestion.