Overview
UPC-A (Universal Product Code, Version A) is the barcode standard used to encode a GTIN-12. It is the dominant retail barcode format in the United States and Canada, appearing on virtually every consumer product sold in North American stores.
Unlike the EAN-13 system prevalent in Europe and most other regions, UPC-A uses a 12-digit numeric identifier. Despite this difference, the two systems are technically compatible—UPC-A data can typically be represented as a GTIN-13 by adding a leading zero.
Structure and Encoding
A UPC-A barcode encodes exactly 12 digits:
| Position | Purpose | Notes |
|---|---|---|
| Digits 1–2 | Number System | Indicates product category (e.g., 0, 1, 6, 7, 8 for regular UPCs; 2 for variable-weight items; 5 for coupons) |
| Digits 3–6 | Manufacturer Code | Assigned to the brand owner |
| Digits 7–11 | Product Code | Assigned by the manufacturer to identify the specific item |
| Digit 12 | Check Digit | Calculated from the preceding 11 digits for error detection |
The barcode itself consists of:
- Left guard pattern (101)
- Six left-hand digits (encoded with odd parity)
- Center guard pattern (01010)
- Five right-hand digits plus check digit (encoded with even parity)
- Right guard pattern (101)
Each digit is represented by a unique pattern of two bars and two spaces, with the left and right halves using different encoding schemes to allow omnidirectional scanning.
UPC-A vs. EAN-13 Compatibility
UPC-A and EAN-13 share the same underlying symbology structure. The key differences are:
| Feature | UPC-A | EAN-13 |
|---|---|---|
| Digits encoded | 12 | 13 |
| Leading zero | Implicit | Explicit |
| Primary markets | USA, Canada | Global (except North America) |
| First digit | Number System | GS1 prefix |
In practice, most modern point-of-sale systems worldwide can read both formats. A UPC-A can be converted to EAN-13 by prefixing a zero, making the GTIN-12 012345678905 become GTIN-13 0012345678905. This conversion preserves the check digit validity when the full 13-digit number is validated as an EAN-13.
However, the reverse is not always straightforward: an EAN-13 beginning with a non-zero GS1 prefix (such as 500–509 for the UK) cannot be represented as a valid UPC-A.
Check Digit Calculation
The UPC-A check digit uses a modulo 10 algorithm with weighted sums. See check digits for the general concept.
Calculation steps:
- Add digits in odd positions (1st, 3rd, 5th, 7th, 9th, 11th)
- Multiply the sum by 3
- Add digits in even positions (2nd, 4th, 6th, 8th, 10th)
- Add results from steps 2 and 3
- The check digit is the smallest number that, when added to this total, produces a multiple of 10
Example for UPC 03600029145?:
| Position | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Digit | 0 | 3 | 6 | 0 | 0 | 0 | 2 | 9 | 1 | 4 | 5 | ? |
- Odd positions: 0 + 6 + 0 + 2 + 1 + 5 = 14
- Multiply by 3: 14 × 3 = 42
- Even positions: 3 + 0 + 0 + 9 + 4 = 16
- Total: 42 + 16 = 58
- Next multiple of 10: 60
- Check digit: 60 − 58 = 2
Final UPC-A: 036000291452
You can verify calculations using the GTIN validator and check digit calculator.
Obtaining UPC-A / GTIN-12 Numbers
Businesses need valid, unique GTIN-12s to identify their products. The standard pathway is through GS1 US or the appropriate GS1 member organization, which issues company prefixes and manages the global registry.
Some businesses obtain GTIN-12s through barcode resellers. These numbers typically originate from GS1 prefixes issued before 2002, when GS1 US allowed prefix holders to sell or transfer their allocated numbers. Reseller-sourced GTINs remain valid as data structures, but businesses should verify whether specific retailers or distributors have additional requirements regarding prefix ownership or GS1 membership certificates.
The International Barcodes Network operates member sites in 120+ countries that provide GTINs and related services to small and medium enterprises.
Usage and Retailer Considerations
UPC-A is required or accepted by:
- Virtually all US and Canadian retailers
- Amazon.com (with specific labeling requirements)
- Most major North American distributors and wholesalers
Some retailers, particularly larger chains, may require direct GS1 prefix ownership for new vendor applications. Others accept properly formatted, valid GTIN-12s regardless of source. Businesses should confirm requirements with each trading partner before finalizing their barcode strategy.
Technical Specifications
| Attribute | Specification |
|---|---|
| Symbology | UPC-A (UPC Version A) |
| Character set | Numeric (0–9) only |
| Data capacity | Fixed 12 digits |
| Quiet zone | Minimum 9× module width left and right |
| Module width | Nominal 0.33 mm (adjustable within limits) |
| Height | Nominal 25.9 mm (truncation possible but reduces scan reliability) |
| Print contrast | Minimum 75% PCS (Print Contrast Signal) |
Common Variants
- UPC-E: Zero-suppressed version encoding the same data in 6 digits; used for small packages
- UPC-A with 2-digit or 5-digit supplement: Add-on codes for periodicals, books, and variable-weight items
- GS1-128 (formerly UCC/EAN-128): Used when additional data (batch, expiry, serial number) must accompany the GTIN