Overview
Barcode formatting is the bridge between the black-and-white pattern a scanner reads and the numbers humans see printed beneath it. When the two do not match, the result is failed scans at checkout, rejected marketplace listings, and costly reprints. This guide covers how to display, store, and validate GTINs so that human-readable digits always correspond to the encoded data.
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 consistently stress that the human-readable interpretation (HRI) should reflect the data encoded in the symbol without alteration.
Common mismatch scenarios
| Scenario | Risk |
|---|---|
| Leading zero omitted in print | GTIN-8 or GTIN-12 becomes unrecognisable; check digit fails |
| Hyphens treated as data characters | Encoding error; scanner reads invalid string |
| Spaces inserted for readability | Same risk if spaces enter the data string |
| Font substitution changes digit shapes | ”1” and “l” confused; manual verification fails |
| OCR-B not used for HRI | Non-standard appearance; some retailers reject artwork |
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. A GTIN-12 of
00614141000452must not be stored as614141000452in 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; omitting it breaks validation everywhere.
Display rules
- Print all digits without truncation. The HRI must show
0 0614141 000452or00614141000452, never614141000452. - Do not add leading zeros to reach a desired length. A genuine GTIN-8 should not be padded to 12 or 13 digits unless the barcode symbology specifically requires it (for example, UPC-A encoding of a GTIN-12).
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
| Context | Example |
|---|---|
| Stored / encoded data | 09420001234531 |
| Printed HRI with spacing | 0 942000 123453 1 or 09420001234531 |
| Marketplace upload | 09420001234531 (no spaces) |
Incorrect practice
- Encoding
0-942000-123453-1into the barcode symbol - Uploading
09420 00123 4531to 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:
- Length check: Confirm 8, 12, 13, or 14 digits as appropriate
- Check digit verification: The final digit must mathematically validate against the preceding digits; see check digits for the algorithm
- Character set check: Digits 0–9 only; no letters, hyphens, or spaces
Tools for validation
| Tool | Purpose | Link |
|---|---|---|
| GTIN Validator | Check digit, length, and format | barcodes.ph/gtin-validator |
| GS1 GTIN overview | Official ID key documentation | gs1.org/standards/id-keys/gtin |
| GS1 UK barcoding guide | Print and design best practices | GS1 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—whether in spreadsheets, ERP systems, or marketplace feeds—should adopt these habits:
- Standardise on plain text. No auto-formatting, no scientific notation, no thousand separators
- Double-entry for critical fields. Two operators enter the same GTIN; discrepancies flag review
- Validate at point of entry. Embed check-digit verification in forms or use batch validation tools
- Audit trailing characters. Spaces, tabs, and line breaks pasted from emails or PDFs often hide at the end of a string
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.