Pick up a tray of sliced cheese or a cut of meat at a U.S. grocery store and the sticker often carries a UPC that begins with 2. It looks like any other product barcode, but it behaves differently: the price (or weight) of that exact package is built into the digits.

This guide explains how those numbers are put together, why they only work inside one store or country, and what that means if you sell items by weight.

Why a normal GTIN can't do this

A GTIN identifies a product, and a changed pack size usually means a new GTIN. For an item sold in variable measure, GS1's GTIN rules say the measure is an attribute, so no new GTIN is needed when the weight changes.

That creates a checkout problem. GS1 says that for retail variable measure items either the price or the quantity must be in the barcode to be read at the checkout. A fixed 12-digit GTIN carries neither, so the register would not know what to charge for a 0.87 lb package.

Stores solve this with a different kind of number, described next.

What GS1 calls a Restricted Circulation Number

GS1's General Specifications define Restricted Circulation Numbers (RCNs) as identifiers for special applications in restricted environments, defined by the local GS1 Member Organization. An RCN can be restricted to a country, a company or an industry.

Three rules from the specification matter to you:

  • RCNs may only be encoded in EAN-8, EAN-13, UPC-A or UPC-E symbols, and never with Application Identifiers (GS1 change notice 23-006). That is why they are not GTINs and are not written with AI (01).
  • For variable measure items sold at retail, GS1 Member Organizations are told to assign one or several of the prefixes 02 and 20 through 29. These items are marked either in the store or at the source by the supplier.
  • The data after the prefix can be structured in a variety of ways: product type, net weight, calculated price or number of units. The scale and the register are programmed to read the prefix as an instruction for how to decode the rest.

The prefix table in the country-of-origin guide shows where 02 and 20–29 sit. GS1 also notes that these items are sold in random quantity against a fixed price per unit, such as apples at a set price per kilogram. This guide is general information about the standard, not advice about your legal obligations for selling by weight.

The North American layout

The specification shows one structure as the one specified by GS1 US for North America, and says many other Member Organizations use it too. In a 12-digit UPC-A, it looks like this:

PositionDigitsMeaning
11The prefix, 2
2–65Item reference
71Price verifier digit
8–114Item price, with an implied decimal point
121Regular GS1 check digit

The item reference is usually assigned by the company whose register scans the label. The price field has no printed decimal point; the trading partners or the national GS1 office define where it sits, and the scale has to place it correctly in the human-readable price. The specification gives other example layouts too, including ones with a weight field and a five-digit price, so this table is a pattern and not a universal law.

Worked example: a $3.99 package

Here is an invented label that follows the pattern above. Suppose a store's item reference for sliced cheddar is 04821 and a package is priced at $3.99, which the price field holds as 0399.

  1. Price verifier. GS1 weights each digit of a four-digit price field with factors 2-, 2-, 3 and 5-. The digits 0, 3, 9, 9 become 0, 6, 7 and 1 using GS1's tables, which add up to 14. Multiply by 3 to get 42; the units digit, 2, is the verifier. (GS1's own worked example uses 2875 and gets 9.)
  2. Assemble 11 digits. Prefix 2, item 04821, verifier 2, price 0399 gives 20482120399.
  3. Standard check digit. Add the digits in odd positions (2, 4, 2, 2, 3, 9 = 22) and multiply by 3 to get 66. Add the even positions (0, 8, 1, 0, 9 = 18) to get 84. The check digit is 6.
  4. Result. The full UPC-A is 204821203996.

The price verifier exists because a misread price digit is a costly error. A reader that decodes the number can recompute the verifier from the price field and reject a label that doesn't match. The check digits guide covers the standard final digit; the price verifier is the extra layer GS1 adds on top for price and weight fields.

Why these labels are store-specific

Nothing in the number says "cheddar" to the world. The item reference points at a record in one retailer's system, and the specification says the item reference is usually assigned by the company that scans the label at its own point of sale. Another chain could use 04821 for something else, and it would be correct to do so.

The same holds across borders. GS1 Sweden, for example, builds its numbers from a prefix starting 2X, where the second digit says whether the value is a price or weight and how many decimals it has. It also states that an RCN is national: a Swedish RCN can only be used in Sweden, and its layout is an EAN-13 one, different from the UPC-A table above. To sell in another country you contact the GS1 office there.

The practical result: never treat a prefix 2 number as a product identifier, never look it up in a public database as if it were a GTIN, and don't expect another retailer's register to price it.

What to use instead outside the store counter

GS1 describes alternatives for the situations a prefix 2 label can't cover:

  • Fresh food scanned at retail with a GTIN. The specification also defines labels that use a GTIN plus extra attributes in GS1 DataBar Expanded or Expanded Stacked, and the retailer decides how the price is calculated. This site's generator does not make GS1 DataBar.
  • Cases of variable-weight items. GS1 Sweden advises a GTIN-14 for the case, with the indicator digit 9, and a GS1-128 label that carries the GTIN and the weight. See the ITF-14 guide for how indicator digits work, and the Application Identifiers guide for the net-weight AIs.
  • Items going to a deli counter, not a checkout. GS1 Sweden says these should not carry an RCN and should be labeled like a variable-weight case.

If you sell items packed by weight

First, find out who prices the item. If the store weighs and labels it, the store's scale vendor and item numbers decide everything and you need no number from this system. If you pack by weight and the retailer wants the label applied at the source, ask for their written specification: prefix, item reference, price or weight field, decimal position and verifier.

Do not use a prefix 2 number as the barcode on a fixed-size retail product. For that, you need a licensed GTIN; the GTIN guide explains the difference.

Bottom line

A prefix 2 barcode is a store's own price tag in GS1 clothing: item reference, price verifier, price, check digit. The standard fixes the frame, but the retailer or national GS1 office fixes the contents. If a buyer asks you to supply such labels, get their layout in writing before you print anything, then use the barcode generator only to draw the finished number as UPC-A (type the 11 digits and it adds the final check digit, or type all 12 and it verifies the last one); it does not know any retailer's layout or compute the price verifier.

Sources

  1. GS1: GS1 General Specifications, Release 26 (sections 1.2.2.2.1, 2.1.12 and 7.9) (accessed )
  2. GS1: GSCN 23-006: RCN updates (accessed )
  3. GS1: What is a Variable Measure Trade Item? (accessed )
  4. GS1: Trade item sold in variable measure varies in total weight (GTIN rule) (accessed )
  5. GS1 Sweden: How do I create my Restricted Circulation Numbers? (accessed )
  6. GS1 Sweden: Barcode items of varying weight (accessed )

Edited by Plain Barcode. Drafted with AI writing tools and checked against the sources listed above.

How guides are researched and corrected: Editorial Policy. Spotted an error? Email hello@plainbarcode.com.

Newsletter

Get an e-mail when Plain Barcode publishes something new

At most one e-mail a day, only about new guides and tools. No tracking pixels. How we handle your address