Variable Measure Barcode Decoder

A deli, produce or butcher scale prints an EAN-13 that starts 02 or 20–29 with the price or weight written inside the number. Paste it here to see the item reference, the embedded amount and whether the price check digit is right — under every national scheme that uses that prefix, because the same thirteen digits mean different things in different countries. Or go the other way and build the number your scale should print.

🔒 Your data never leaves your browser.

Decode a number

Build a number (price check digit calculator)

For configuring a scale or a label printer: pick the scheme, give the item reference and the price or weight, and get the complete number with the verifier digit and the check digit — every weighted product shown, so the calculation can be checked against the standard.

Why a check digit calculator cannot do this

Every free barcode calculator computes the last digit — the mod-10 check digit that every GTIN has. A price-embedded number carries a second check digit in the middle: the price verifier, calculated from the price digits alone with the GS1 weighting factors 2−, 3, 5+ and 5−. A four-digit price field uses the factors 2−, 2−, 3, 5−, adds the products and multiplies by three; a five-digit field uses 5+, 2−, 5−, 5+, 2−, takes the complement to ten and looks the result up in the 5− table. The standard’s own worked examples — 2875 → 9 and 14685 → 6 — are regression tests here.

Which country’s layout?

GS1 only fixes the frame: prefixes 02 and 20–29 are Restricted Circulation Numbers, assigned by each member organisation, and Table 2-29 of the General Specifications merely recommends four layouts. What the digits after the prefix mean is decided nationally — which is why this tool carries each scheme from its member organisation’s own document rather than from a forum post:

The same prefix appears in several of these lists — 22 is a five-digit Australian dollar price with a verifier and an integer Swedish krona price without one. So the decoder shows every documented reading for the prefix, puts the ones whose verifier digit checks out first, and lets you pin the territory when you know it. A scheme without a verifier can never be ruled out by the digits alone, and the result says so instead of hiding it.

What this tool does not do

It decodes numbers, not photographs of barcodes. It only knows the schemes listed above — for any other country, or a retailer’s private format, it shows the four GS1-recommended splits and stops there. The North American reading assumes two implied decimals because the standard leaves the decimal point to the trading partners; the UK, Australian and German two-decimal prices come from those organisations’ documents; the German weight and count fields are returned as raw digits because the guide gives no unit for them. And whatever it decodes, a Restricted Circulation Number is not a product GTIN: it cannot be listed on a marketplace, and it cannot be carried in a GS1-128 or 2D symbol with Application Identifiers.

Every check this tool runs (15 rules)

VMN-001 Not a 12- or 13-digit number

A variable-measure Restricted Circulation Number is an RCN-13 (EAN-13) or an RCN-12 (UPC-A). An RCN-8 has no room for a price or weight field, and anything that is not all digits cannot be decoded.

Fix: Paste the 13 digits under the EAN-13 (or the 12 under the UPC-A), digits only.

GS1 General Specifications (PDF) ↗

VMN-002 Check digit is wrong

The last digit is the standard mod-10 check digit over the twelve before it, exactly as for any GTIN. A scanner rejects the symbol before it ever looks at the price.

Fix: Recompute the last digit; if the number came from a scale, the scale is misconfigured.

GS1 General Specifications (PDF) ↗

VMN-003 Prefix is not a variable-measure range (02 or 20–29)

Only GS1 prefixes 02 and 20–29 are assigned by member organisations for variable-measure trade items. Any other prefix is an ordinary GTIN, a coupon or a publication number: nothing is embedded in it.

Fix: If you expected a price in this number, it was not printed by a scale with a variable-measure prefix.

GS1 General Specifications (PDF) ↗

VMN-004 Prefix 04 is a company-internal fixed-measure number

GS1 prefix 04 (UPC number system 4) is reserved for company-internal numbering of fixed-measure items. It is a Restricted Circulation Number, but GS1 defines no price or weight structure for it.

Fix: Look up the meaning of the digits with the company that assigned the number.

GS1 General Specifications (PDF) ↗

VMN-005 Price / measure verifier digit does not match the selected scheme

Under the selected national scheme the verifier digit is computed from the price or measure digits with the GS1 weighting factors 2−, 3, 5+ and 5−. A mismatch means the price was mis-encoded or the number is not written in this scheme.

Fix: Recompute the verifier from the price digits, or pick the scheme the label was actually printed under.

GS1 General Specifications (PDF) ↗

VMN-006 No verifier-bearing layout matches

Every layout with a verifier digit that fits this prefix gives a verifier different from the digit in the number. Either the number uses a layout without a verifier (Sweden, Greece and the GS1-recommended 20–29 layouts have none) or the price digits are wrong.

Fix: Pin the territory the label came from; if the scheme uses a verifier, the price field needs to be re-encoded.

GS1 General Specifications (PDF) ↗

VMN-007 Verifier digit is consistent with these schemes

The verifier digit in the number equals the one computed from the price digits under the listed scheme(s). Consistency is strong evidence for a layout but not proof — one digit in ten matches by chance.

GS1 General Specifications (PDF) ↗

VMN-008 12-digit UPC-A form normalised

A 12-digit number starting with 2 is an RCN-12 in UPC-A form (number system 2). Adding a leading zero gives the 13-digit form with prefix 02 that the layouts are defined on.

GS1 General Specifications (PDF) ↗

VMN-009 Embedded price or measure is zero

The price or measure field is all zeros. Labels come out like this when the scale prints before weighing or when a test label is scanned — nothing will be charged.

Fix: Re-weigh and reprint the label.

Source: yaktool engineering rule: not from the GS1 General Specifications, which permit any digits in the field.

VMN-010 Restricted circulation — not a marketplace GTIN

Restricted Circulation Numbers are only meaningful inside the store, company or territory that assigned them and shall not be used in open environments. They cannot be listed as a product GTIN on Amazon, Google Shopping or any other marketplace, and they cannot be carried in a GS1-128 or 2D symbol with Application Identifiers.

Fix: For an open-market listing the product needs a real GTIN; variable-measure data then travels in AI (310n)/(392n) next to it.

GS1 General Specifications (PDF) ↗

VMN-011 Prefix is used by several national schemes

Prefixes 20–29 are assigned independently by each GS1 member organisation, so the same two digits mean different things in different countries (22 is a five-digit price with a verifier in Australia and an integer krona price in Sweden). The readings shown side by side are the documented ones.

Fix: Pin the territory the label was printed in.

GS1 General Specifications (PDF) ↗

VMN-012 Item reference has the wrong number of digits

Each layout fixes how many digits the item reference takes (five with a four-digit price field, four with a five-digit one, six or five without a verifier). A longer or shorter reference shifts every field after it.

Fix: Pad the item reference with leading zeros or shorten it to the length the scheme uses.

GS1 General Specifications (PDF) ↗

VMN-013 Value does not fit the field

A four-digit price field with two implied decimals tops out at 99.99, a five-digit one at 999.99, a five-digit gram field at 99999 g. Anything larger cannot be encoded without a different prefix or layout.

Fix: Use the layout with the larger field, or a different unit of measure, or split the item.

GS1 General Specifications (PDF) ↗

VMN-014 More decimals than the implied decimal point allows

The decimal point is not in the barcode; the scheme fixes how many decimals the field carries. A value with more decimals would be silently rounded by the scale and the customer charged a different amount.

Fix: Round the value to the number of decimals the scheme allows before encoding.

GS1 General Specifications (PDF) ↗

VMN-015 Prefix is not used by the selected scheme

Each national scheme uses specific prefixes, and where the prefix decides the meaning of the field (Sweden: 20–22 price, 23–25 weight; Germany: 22/23 price, 25/26 count, 28/29 weight) it has to be given.

Fix: Choose one of the prefixes the scheme documents.

GS1 General Specifications (PDF) ↗

About these rules. Each one has an identifier, a severity and a plain-English explanation. Every source link is registered and re-checked against the live page rather than linked from memory. How rules are written, tested and kept current →