All articles
Guidebeginner7 min read

Cheap UPC Codes: What You Actually Get for $5

A cheap UPC code is a real, well-formed number that somebody else's company is registered to. It scans, so it works fine anywhere nobody checks the registry, and it fails the moment somebody does. The comparison that made resellers attractive is also out of date: GS1 US now licenses a single GTIN for $30 with nothing to renew, so the choice is $5 versus $30, not $5 versus $250.

Search for a UPC code and the first page of results is mostly companies selling you one for a few dollars. Underneath them are forum threads of people asking whether those codes are legitimate, which is the right question and rarely gets a straight answer, because the honest answer is "it depends on where you sell."

This page is that answer: what you are actually buying, where it works, where it stops working, and what to do if you have already printed one on your packaging.

What a cheap UPC code actually is

GS1 issues a GS1 Company Prefix to a company. Every GTIN that company creates starts with that prefix, which is what makes the number traceable back to them.

Years ago, some companies were issued large prefixes and later subdivided them, selling the individual numbers on. That is the business. The number you buy is carved out of a block GS1 assigned to somebody else, and in GS1's records the prefix still belongs to them.

Nothing about the number itself is fake. It is correctly formed, the check digit is right, and a scanner reads it exactly like any other barcode. You can confirm that yourself with our GTIN validator. That is precisely what makes this confusing: every test a small brand knows how to run comes back clean.

Where a resold code genuinely works

Being fair about this matters, because the scare version of this article is easy to write and gets the decision wrong for a lot of people.

A resold barcode works when the only thing that has to happen is a scan:

  • Your own point of sale. In your own catalog, the number is just a key. It will scan at a market stall or a Square register and your inventory counts will be correct.
  • Your own website. Nothing on your storefront queries GS1.
  • Channels that do not ask for a barcode at all. Etsy does not require a GTIN for most listings, so the question does not arise.

If that is your whole business and you expect it to stay that way, a resold code is not going to bite you. It scans fine in your own catalog, which is exactly why the problem stays hidden until you try to use it somewhere that checks.

Where it stops working, and why

The failure is not technical. It is a question of ownership, and it comes from one place: verification does not check whether the number is well formed, it checks who GS1 says it belongs to.

That single sentence explains every symptom below.

  • Marketplaces that validate against the GS1 registry. Amazon has required GTINs obtained from GS1 since 2016 and checks that the code is registered to you rather than a third party. The failure arrives as a suppressed or rejected listing, not as a warning that explains itself.
  • Retail buyers. Grocery and big-box retailers verify brand ownership during product setup. Our Walmart, Kroger and Whole Foods guides cover what each one asks for.
  • Product data that gets matched to a global catalog. When a GTIN resolves to a different company than the one selling the product, the match is wrong. What that costs depends on the channel, but nothing about it works in your favour.

None of this is a rule invented to punish small brands. It exists because a GTIN is only useful if it identifies one company's product, and a number that resolves to a stranger cannot do that.

The two failures nobody warns you about

The rejection cases are at least visible. These two are not.

The prefix can lapse. GS1 prefixes are renewed. When you buy a subdivided number you are depending on a company you have never met continuing to pay their renewal, indefinitely, for a prefix they no longer really use. If they stop, the numbers printed on your packaging go with them, and nobody will tell you it happened.

Nothing prevents the same number being sold twice. Two products sharing a barcode is not a problem that surfaces in your system. It surfaces in a retailer's, or another brand's, months later, and by then it is your problem to explain.

Where the cost actually lands

The $5 is not the cost. The cost is what a rejected code forces you to redo, and it lands after you have committed:

  • Reprinting packaging. A barcode is printed into the artwork. Changing the number means new plates, a new run, and whatever you already have in a warehouse becomes stock you cannot sell through that channel.
  • A stalled listing or setup. The code is usually rejected at the point where you are trying to launch, which is the worst possible week for it.
  • Relabeling units you have already shipped. Anything already in a fulfilment centre has to be dealt with unit by unit.

Any one of those is more expensive than every legitimate option, which is the part the price comparison hides.

The comparison is $30, not $250

The argument for resold codes was always "$5 versus $250," where $250 is GS1 US membership for up to 10 GTINs with a $50 annual renewal. That is a real number, and for a brand with one product it was a real objection.

It is no longer the relevant comparison. GS1 US licenses a single GTIN for $30, one time, with nothing to renew. If you have one product, that is the whole cost, the number is registered to you, and no part of the above applies to you.

The reseller is competing against $30. What you save is the difference, and what you give up is the only thing the number was for.

How to check a number you have already bought

Two checks, in this order.

The first tells you which GS1 member organisation the number's prefix was issued through. It will not tell you who owns it, but it tells you whether the number is in a real GS1 range at all, and where it came from:

Look up the prefix on a barcode

Enter a full GTIN or the leading digits. This reports which GS1 member organisation the prefix belongs to, and flags ranges that are restricted or reserved for special purposes.

Try:
Open the full tool

The second is the one that decides it, and there is no tool for it: whose company name is on the GS1 record for that prefix? Ask whoever sold you the number. If the answer is any company other than yours, then the number is not registered to you, and that is the exact fact a marketplace checks. A seller who will not answer plainly has answered.

If you already printed them

This is the situation most people are actually in when they go looking, so: nothing here is an emergency, and you do not have to fix it today.

  1. Work out whether anything in your plans checks. If you sell through your own channels only, and intend to keep doing so, you can leave this alone.
  2. If a channel that verifies is anywhere in your plans, move before you reprint. The cost of switching is a packaging run. Time the switch to a run you were going to do anyway and the change costs you close to nothing.
  3. Get numbers registered to you. How to get a UPC code walks through both routes, single GTIN and Company Prefix, and how to work out which one you need.
  4. Assign the new numbers before the artwork goes out, and run them through the GTIN validator so a typo is not the thing that costs you the run.

The brands that get hurt here are not the ones who bought a cheap code. They are the ones who found out at the point of no return.