Free UPC barcode generator

Generate a UPC-A or UPC-E barcode with a computed check digit, or switch to EAN-13 and EAN-8 for products sold outside North America.

Symbology

Digits only: 11 (check digit added for you) or 12 with a valid check digit.

Input
Options

0 of 0 codes ready

Add values on the left to see your codes here.

Generated in your browser — nothing is uploaded.

This tool draws UPC-A and UPC-E, plus EAN-13 and EAN-8 for the numbering system used outside North America.

A UPC number identifies one manufacturer and one product in the GS1 database. That identity comes from GS1 and nowhere else: you buy a company prefix from them for a signup fee plus an annual renewal. Amazon checks every UPC against the GS1 registry when a listing is created, and codes that don't trace back to a paid prefix get rejected. Invented numbers fail that check. So do numbers resold outside GS1's own transfer process. The same applies to the code you generate here and to every other free UPC generator, because none of them can issue a registration.

The generator is useful wherever a barcode has to scan without having to sell anything: internal warehouse labels and bin numbers, load-testing a scanner or POS integration before it goes live, packaging mockups while the real prefix is still in the mail, classroom and demo material. In all of those the barcode holds a value and returns it on a scan, which is the part this tool gets right.

If the numbers are internal, a spreadsheet of which UPC went on which shelf goes stale the first time someone relabels a bin by hand. Asset tagging in UNIO24 keeps the mapping live: print a label, scan it into the record, and the code stays attached to the thing it is stuck to.

UPC-A vs UPC-E vs EAN-13

UPC-AUPC-EEAN-13
Digits126 shown (8 with number system and check digit)13
RegionNorth America, also reads everywhereNorth America, small packaging onlyStandard outside North America, also reads in the US
Best forStandard retail productsPackaging too small for a full UPC-AInternational retail listings

UPC-A and EAN-13 are not separate systems. Add a 0 to the front of a UPC-A number and you have a valid EAN-13, which is why a US product scans at a European checkout. UPC-E is a compressed six-digit encoding of a UPC-A number rather than a number space of its own, made for labels too small for the full 12 digits.

UPC barcode generator: common questions

Edge cases that show up once you try to put a generated code to real use.

  • What does a GS1 company prefix cost, and is there a cheaper route for a handful of products?

    A single pre-registered GTIN costs around $30 one-time direct from GS1 US, with no renewal fee, which is the cheapest legitimate route if you only need one or two numbers. A company prefix, the option built to scale, starts at roughly $250 initial plus about $50 a year for the smallest tier (10 products), with larger tiers costing more upfront. Treat all of these as ballpark figures rather than quotes. These figures were current as of August 2026; confirm on GS1 US's own store before buying, since pricing is revised periodically: single GTIN or company prefix. Either route registers the number to your business in the GS1 database. A generator, this one included, only computes the check digit.

    Will Amazon or Walmart accept a code generated here?

    No, and that has nothing to do with which generator produced the code. Amazon and Walmart both check submitted UPCs against the GS1 registry at listing time, confirming the code traces back to a company prefix actually registered to the seller. A barcode made here has a mathematically valid check digit but no registration behind it, so it fails that lookup the same way a number from any other free generator would. Buying a UPC from a marketplace reseller runs into the same wall, because both retailers reject resold and duplicate codes and increasingly ask for a GS1 certificate before they list the product.

    Can I use a generated UPC for internal stock labels?

    Yes, provided you draw the number from a range GS1 sets aside for exactly that, so it can never collide with a real retail GTIN on the same scanner. UPC-A codes starting with the digit 2, and EAN-13 codes starting with 020 through 029, are restricted circulation numbers: GS1 reserves that range for internal and in-store use and never assigns it to an actual product, anywhere. Start internal stock codes there instead of an arbitrary 11-digit sequence, and a scanner that also reads real product barcodes never mistakes one for the other.

Tagging assets at scale? Talk to sales

Every code renders locally. The digits you type are drawn onto an off-screen canvas in your own browser, and no barcode data reaches our servers. Before printing a batch of real shelf labels, the field guide to barcodes that stop scanning covers the print-resolution mistakes that turn a valid code into an unreadable one.

up arrow