What Is a Universal Product Code (UPC)? How It Works in Retail

Verified and Reviewed

Last updated on June 02, 2026

Join 27,952+ Readers of the Cahoot Newsletter
Subscription Form

A Universal Product Code, or UPC, is a standardized barcode and 12-digit number that uniquely identifies a specific product from a specific manufacturer. Every time a product is scanned at a checkout register, pulled from a warehouse shelf, received by a distributor, or listed on an online marketplace, the UPC is the identifier that connects that physical unit to its record in the system.

The Universal Product Code (UPC) is a barcode symbology used worldwide for tracking trade items in stores, consisting of 12 digits uniquely assigned to each trade item according to the global GS1 specification.

For ecommerce founders, UPCs are often treated as a box to check when setting up a retail or marketplace listing. They are something more than that. UPCs are a type of bar code, which uses black lines and spaces to encode product information for scanning. The UPC is the foundational data layer that allows a product to move consistently through supply chains, get counted accurately in inventory systems, and be recognized without ambiguity across every trading partner in a distribution network. The historical development of barcode designs included patterns like the bull’s eye, which contributed to the evolution of the modern UPC system. Understanding how that system works determines whether a brand can scale into retail distribution without encountering preventable data errors.

The UPC is a crucial component of modern retail, bridging the gap between manufacturers and consumers through a standardized identifier.

The Origin of the UPC

The UPC was developed in the early 1970s in response to a specific operational problem in the grocery industry. Cashiers were manually keying prices for every item at checkout, a slow and error-prone process that created checkout bottlenecks and provided no reliable mechanism for tracking what was sold. Grocery chains needed a machine-readable system that could identify products instantly and automatically update sales data.

In 1973, the Uniform Product Code Council (UPCC) was formed by a group of trade associations from the grocery industry to define the numerical format for the UPC.

The grocery industry formed the Symbol Selection Committee to evaluate potential solutions. IBM engineer George Laurer developed the UPC-A barcode design that was ultimately selected in 1973. Extensive research and technical development were conducted to create a reliable barcode symbology, focusing on error correction, quality assurance, and adherence to industry standards to ensure accurate and efficient scanning.

The first commercial UPC scan occurred on June 26, 1974, at a Marsh supermarket in Troy, Ohio, on a 10-pack of Wrigley’s Juicy Fruit chewing gum. From that starting point in grocery, UPC adoption spread into every retail category over the following decade.

Today GS1, a global nonprofit standards organization operating in more than 115 countries, manages UPC standards and issues the company prefixes that underpin all legitimate UPC codes.

The UPC barcode system was designed to automate checkout and inventory management, greatly improving the efficiency of retail commerce.

Slash Your Fulfillment Costs by Up to 30%

Cut shipping expenses by 30% and boost profit with Cahoot's AI-optimized fulfillment services and modern tech —no overheads and no humans required!

I'm Interested in Saving Time and Money

How a UPC Barcode Is Structured

A standard UPC-A barcode encodes 12 digits. Each digit serves a specific function in the identification system, and the structure is not arbitrary. Each UPC-A barcode consists of a scannable strip of black bars and white spaces—often referred to as lines—above a sequence of 12 numerical digits, with a one-to-one correspondence between the digits and the visual representation. Each UPC code includes both a machine-readable barcode and a human-readable number, allowing for efficient scanning and identification of products at the point of sale.

The first digit is the number system character. It indicates the general category of the product. A value of zero indicates a standard grocery or retail item and is the most commonly encountered value. Other values are reserved for specific applications. A two indicates a variable weight item such as fresh produce or deli meat, where the price is determined by weight at the point of sale. A three indicates a pharmaceutical or health item. A five indicates a coupon. The number system character tells the scanning system how to interpret the rest of the code.

The next five digits form the manufacturer or company prefix, also known as the Manufacturer Identification Number. This unique prefix is assigned by GS1 to the brand or manufacturer who registers with the organization. It is unique to that company and appears in every UPC that company creates. A brand’s company prefix is their permanent identifier within the GS1 system. No two companies share a prefix.

The following five digits are the product reference number, assigned by the manufacturer internally. These digits distinguish each individual product in the manufacturer’s catalog. Every distinct product, and every distinct variant of a product including different sizes, colors, or configurations, receives a unique product reference number combination with the company prefix.

The final digit is the check digit. It is mathematically derived from the preceding eleven digits using a specific algorithm that multiplies alternating digits by one and three, sums the results, and calculates the value needed to bring the total to the next multiple of ten. The check digit is the final digit that validates the barcode was scanned correctly. When a scanner reads a UPC, it performs this calculation on the eleven digits and verifies the result matches the printed check digit. If the numbers do not match, the scanner registers a read error rather than recording incorrect data. This verification mechanism is why barcode scanning is significantly more accurate than manual data entry.

The bars and spaces—black lines and white gaps—of the UPC barcode visually encode these 12 digits. Each digit is represented by a pattern of two bars and two spaces of defined widths. The scannable area of every UPC-A barcode follows the pattern SLLLLLLMRRRRRRE, where S, M, and E are guard patterns, and L and R represent the left and right sections of the 12 numerical digits. A scanner passes a laser or light source across the barcode and measures the pattern of reflected and absorbed light to reconstruct the numerical sequence. Damaged items with partially obscured barcodes may fail to scan not because the number is wrong but because the physical pattern cannot be read completely by the optical system.

For example, a typical UPC-A code might look like this: 0 12345 67890 5. Here, “0” is the number system character, “12345” is the Manufacturer Identification Number assigned by GS1, “67890” is the product reference number, and “5” is the check digit. The UPC includes both the human-readable number and the barcode made up of black lines and white spaces, each corresponding to the digits above.

Looking for a New 3PL? Start with this Free RFP Template

Cut weeks off your selection process. Avoid pitfalls. Get the only 3PL RFP checklist built for ecommerce brands, absolutely free.

Get My Free 3PL RFP

The Importance of the Check Digit in UPCs

The check digit is the unsung hero of the UPC code, playing a critical role in ensuring the accuracy and reliability of product identification across the retail world. As the last digit in the 12-digit UPC, the check digit is calculated from the preceding numbers using a specific algorithm. This simple yet powerful feature acts as a built-in error detection tool every time a barcode is scanned.

For retailers and manufacturers, the check digit is essential for maintaining accurate inventory management and smooth supply chain operations. When a UPC barcode is scanned at the point of sale or during inventory checks, the system automatically verifies the check digit. If the code has been misprinted, damaged, or incorrectly entered, the check digit will not match, and the system will flag the error before it can affect inventory records or sales data. This verification process helps prevent costly mistakes, such as misidentifying products or recording incorrect transactions.

Beyond error prevention, the check digit also adds a layer of security to the universal product code system. It makes it much harder for counterfeiters to introduce fake or altered product codes into the supply chain, as any tampering with the digits will result in an invalid check digit that is easily detected by scanners. This ensures that only legitimate products with valid UPC codes move through the supply chain, protecting both businesses and consumers.

In summary, the check digit is a vital component of every UPC code, providing a reliable safeguard that keeps inventory data accurate, supports efficient business operations, and upholds the integrity of the retail supply chain.


UPC Variants and Related Standards

UPC-A is the standard format most commonly encountered in North American retail. There are different types of UPC codes, such as UPC-A, UPC-E, and EAN-13, each serving specific use cases. Two other formats appear frequently enough to understand.

UPC-E is a compressed version of the UPC that encodes only eight printed digits rather than twelve. It is created by suppressing zeros from the standard 12-digit sequence according to a defined compression algorithm. UPC-E is used on small packaging where a full UPC-A barcode would not fit without distorting the barcode dimensions required for reliable scanning. A UPC-E can always be mathematically expanded back to its full 12-digit UPC-A equivalent.

EAN-13, the European Article Number, is the international equivalent of the UPC-A. It uses 13 digits, with the additional digit representing a country code prefix that precedes the company prefix. A UPC-A code is technically an EAN-13 that starts with a zero prefix, which is why UPC-A and EAN-13 barcodes are compatible with the same scanners. A UPC-A code can be converted to EAN-13 simply by prepending a zero. This compatibility allows products coded for North American retail to be scanned by European retail systems without requiring separate printed barcodes.

The GTIN, or Global Trade Item Number, is GS1’s umbrella term that encompasses UPC, EAN, and other product identification formats. A GTIN is the identifying number encoded in a UPC barcode, allowing for unique identification of products globally. While a UPC is a specific type of GTIN that consists of 12 digits, GTINs can also include other formats such as GTIN-13 and GTIN-8, which are used internationally. When retailers, distributors, and online marketplaces request a GTIN for a product listing, they are typically accepting UPC-A or EAN-13 as valid inputs. Amazon, Walmart, Target, and most other major retail channels require GTIN data for all product listings.

How UPCs Connect to Retail Systems

When a scanner reads a UPC barcode at a point of sale terminal, it captures the 12-digit number and passes it to the point of sale system. Barcode scanners read the code instantly at checkout, automatically retrieving pricing and product information. The POS system queries its product database for the record associated with that number. The database returns the product name, description, current price, and any other attributes stored against that UPC. The sale is recorded, the receipt is generated, and inventory data is updated based on the scan. Every scan of a UPC updates a business’s inventory management system in real time, allowing retailers to see exact stock levels and track products sold. UPCs are used to identify and scan individual items sold, ensuring accurate sales tracking at the point of sale.

The scan itself transmits only the number. No price is encoded in the barcode. No product description. No inventory count. All of that information lives in the database that the 12-digit number points to. This architecture means that price changes require only a database update, not a change to the physical barcode on every package. It also means the same UPC can be recognized across multiple retailers simultaneously, each maintaining their own price and product data while sharing the common identifier. The UPC code is universally recognized and can work across different retailers and suppliers. UPC codes enable retailers and manufacturers to accurately track products in their inventory, facilitating better sales forecasting and inventory management.

For a product moving through a full distribution chain, the UPC is scanned at every handoff point. When a manufacturer ships to a distributor, the distributor’s receiving system scans the UPC to confirm the inbound product matches the purchase order. When the distributor ships to a retailer, the same scan happens at the retailer’s dock. When a consumer purchases the item, the register scans it. At each point, the UPC connects the physical product to whatever database is relevant at that location.

This chain of consistent identification is what makes retail distribution at scale operationally manageable. A grocery chain with 50,000 SKUs across hundreds of locations can track sales, manage reordering, and coordinate with dozens of suppliers because every product has a single consistent identifier that all systems share.

UPCs and Inventory Tracking

The UPC is the foundational element of accurate inventory tracking. The UPC system enables real-time inventory tracking and improves accuracy for logistics. Every inventory movement in a warehouse, distribution center, or retail stockroom is anchored to a UPC scan. A UPC helps prevent stockouts and excessive inventory by tracking inventory levels in real time.

When inventory is received into a warehouse, the inbound product is scanned and the inventory management system increments the count for that SKU. A SKU (Stock Keeping Unit) is an internal tracking metric used by retailers to manage inventory, while a UPC (Universal Product Code) is a globally recognized identifier for products. Businesses do not typically need to register their UPC codes; they can assign them within their product catalog and maintain internal records instead. When a unit is picked for a customer order, it is scanned at pick to confirm the correct item and the system decrements the count. When a unit is returned by a customer, it is scanned during receiving to update the available stock accordingly. Each of these scan events creates a transaction record that documents the movement. Assigning UPCs to products within your inventory management system ensures proper tracking and compliance with GS1 rules. It is also important to maintain a single account for compliance with retailer policies, such as those enforced by Amazon, to avoid penalties or restrictions.

This creates an auditable trail of inventory movements. When a physical count at the end of a quarter reveals fewer units than the system expected, the transaction history can be reviewed to identify where the discrepancy originated. A receiving scan that logged ten units when fourteen were actually delivered, a missing pick scan on a unit that shipped without being recorded, or a return that was processed without a scan all appear as gaps in the movement log.

For ecommerce brands, UPC consistency across systems is a prerequisite for this tracking to function correctly. If a product carries one UPC in the brand’s own inventory system and a different UPC in the 3PL’s warehouse management system, the two systems cannot reconcile against each other without manual translation at every data exchange point. Discrepancies accumulate and the inventory record drifts from reality.

Benefits of Using UPC Codes in Retail

UPC codes have transformed the retail industry by providing a standardized, efficient way to manage products and streamline business operations. One of the most significant benefits of using UPC codes is improved inventory management. With each product assigned a unique identification number, retailers can track items accurately from the moment they enter the supply chain until they are sold at the register. This level of precision helps prevent costly errors like stockouts, overstocking, or misplacement of products.

The use of UPC barcodes also speeds up the checkout process, as products can be scanned quickly and reliably, reducing wait times and improving the overall customer experience. For businesses, this means higher throughput at the point of sale and more satisfied shoppers. Additionally, UPC codes enable retailers to collect valuable data on sales trends, product performance, and customer preferences. This data can be analyzed to optimize inventory levels, plan promotions, and make informed business decisions that drive growth.

Another key advantage is the seamless integration of UPC codes across the entire supply chain. Because UPCs are recognized by suppliers, distributors, and retailers worldwide, they make it easier to coordinate shipments, verify deliveries, and manage product information across different systems. This universal compatibility reduces manual entry errors and ensures that the same information is used throughout the business, from warehouse to store shelf.

For brand owners and manufacturers, UPC codes also help protect against counterfeiting and unauthorized sales, as each code is registered and traceable. Overall, the adoption of UPC codes in retail delivers a host of benefits—greater accuracy, efficiency, and data-driven insights—making them an indispensable tool for modern inventory management and supply chain success.

Obtaining a UPC: The Right Way

The correct process for obtaining a Universal Product Code (UPC) is to register directly with GS1. UPCs are required to sell products on major platforms like Amazon, Walmart, and eBay, ensuring that products are correctly listed and differentiated. GS1 US manages registrations for brands based in the United States.

Registration begins with purchasing a GS1 company prefix. The prefix length, and therefore the number of product codes available to the brand, determines the annual registration fee. A prefix supporting ten product codes costs significantly less than one supporting 100,000 codes. Once a prefix is assigned, the brand creates individual product codes by combining the prefix with a unique product reference number and calculating the check digit. Each product variation, such as size or color, requires its own unique UPC code, which is essential for effective inventory management and sales tracking.

To obtain UPC codes, businesses can purchase them from GS1 or authorized resellers. A 2002 class action settlement allows resellers to legally provide valid UPC codes originally issued by GS1.

Third-party barcode resellers exist and sell UPCs without requiring GS1 registration. These resellers purchase a GS1 prefix and sell subdivisions of the resulting product codes to individual buyers. These barcodes are technically functional as barcodes, but the GS1 company prefix embedded in the number is registered to the reseller, not to the purchasing brand.

Major retailers including Amazon and Walmart have tightened their verification processes. Their systems check whether the GS1 company prefix in a submitted GTIN matches the brand registered to that prefix in the GS1 global registry. Brands using resold UPCs where the prefix belongs to a different company may encounter listing rejections or distribution errors with these retailers. For brands intending to sell through major retail or marketplace channels over any meaningful time horizon, direct GS1 registration is the appropriate path.

When producing UPC labels, accurate printing is crucial to ensure barcode readability and scanning accuracy. Label manufacturers can assist with the printing process to help maintain quality standards.

Scale Faster with the World’s First Peer-to-Peer Fulfillment Network

Tap into a nationwide network of high-performance partner warehouses — expand capacity, cut shipping costs, and reach customers 1–2 days faster.

Explore Fulfillment Network

Common UPC Mistakes Ecommerce Brands Make

Reusing a UPC across product variants. Each distinct variant requires its own unique UPC. A 12-ounce and a 24-ounce version of the same product cannot share a code. A red and a blue version of the same item cannot share a code. Retailers and inventory systems treat each UPC as a discrete item. Sharing codes across variants corrupts receiving data, inventory counts, and sales tracking. Additionally, on marketplaces like Amazon, it is important to maintain a single seller account and comply with all account policies. Creating multiple accounts or violating platform rules can result in penalties or bans, further complicating product listings and UPC management.

Using the manufacturer’s UPC on a private label product. A brand that sources a product from a manufacturer and sells it under their own brand name needs their own UPC registered to their company prefix. Using the manufacturer’s code identifies the product as the manufacturer’s, not the brand’s, which creates catalog conflicts and attribution errors at marketplaces and retailers.

Not updating UPCs after significant product changes. When a product undergoes a material change, including a formulation change, a packaging redesign that affects the weight or unit count, or a meaningful change to the product itself, the UPC should be updated. Keeping the same code on a materially different product creates traceability problems and may result in customers receiving items that do not match the product description.

Purchasing resold barcodes without checking retailer requirements. Discovering mid-distribution that resold UPCs are blocked by a retailer’s verification system is an avoidable and disruptive problem. Checking the retailer’s GTIN policy before sourcing barcodes eliminates this risk.

Frequently Asked Questions

What is a Universal Product Code?

A Universal Product Code is a 12-digit number and associated barcode that uniquely identifies a specific product from a specific manufacturer. It is used across retail, distribution, warehouse, and ecommerce systems to enable consistent product identification without manual data entry.

What do the digits in a UPC mean?

The first digit indicates the product category type. The next five digits are the manufacturer’s company prefix assigned by GS1. The following five digits are the product reference number assigned by the manufacturer. The final digit is a mathematically calculated check digit that allows scanners to verify the code was read correctly.

Why does a UPC not encode a price?

UPCs are designed as pure identifiers. They encode no price, no inventory count, and no product description. All of that information is stored in the database systems of the retailer, distributor, or platform that reference the UPC. This allows prices to be updated at the database level without reprinting barcodes on physical products.

Do I need a UPC to sell on Amazon or other marketplaces?

Most major marketplaces including Amazon and Walmart require a GTIN, which is typically a UPC or EAN, for product listings. The requirement ensures products can be matched to the global item catalog and prevents duplicate listings for the same physical product.

What is the difference between a UPC and an EAN?

A UPC-A is a 12-digit barcode used primarily in North America. An EAN-13 is a 13-digit barcode used internationally. A UPC-A is technically an EAN-13 with a leading zero, and the two are scanned by the same equipment. Converting a UPC-A to EAN-13 requires only prepending a zero to the 12-digit code.

How do I get a legitimate UPC for my product?

Register directly with GS1 US at gs1us.org to obtain a company prefix. After registration, create product codes by combining your prefix with a unique product reference number and calculating the check digit. Avoid purchasing barcodes from third-party resellers if you plan to sell through major retailers or marketplaces that verify GS1 company prefix ownership.

What happens if I use the wrong UPC for a product?

Using an incorrect or inconsistent UPC creates errors throughout the distribution chain. Retailers may reject inbound shipments where the scanned UPC does not match the purchase order. Inventory counts become inaccurate when the same physical product is tracked under different codes in different systems. Marketplace listings may be rejected or merged with the wrong product catalog entry.

Written By:

Indy Pereira

Indy Pereira

Indy Pereira helps ecommerce brands optimize their shipping and fulfillment with Cahoot’s technology. With a background in both sales and people operations, she bridges customer needs with strategic solutions that drive growth. Indy works closely with merchants every day and brings real-world insight into what makes logistics efficient and scalable.

Cahoot P2P Returns Logo

Turn Returns Into New Revenue

Convert returns into second-chance sales and new customers, right from your store