๐Ÿ“„
QR Tools Live

UPC Code Generator: Free UPC-A Barcode, Auto Check Digit

Built by Najeeb · last updated August 21, 2026 · checked against our testing process

Enter 11 digits and this tool calculates the 12th check digit for you, so the math is correct. That does not make the number yours — for a product actually sold at a retail register, the number must be assigned to you through GS1, or the scan will fail or read as someone else's item.

How to use the UPC-A barcode generator

  1. Enter your 11 digits: the manufacturer prefix and product code, no spaces or letters.
  2. Check the preview: JsBarcode calculates the 12th check digit automatically and adds it to the end. You don't type it and you don't calculate it by hand.
  3. Confirm the code reads correctly: the full 12-digit number appears under the bars exactly as it would print.
  4. Download the image: save it for your mockup, internal label, or prototype packaging.
  5. Before printing for real retail sale: swap in a number from your own GS1-assigned prefix, not one typed in here. See the sections below for why.

What this UPC barcode generator does

This UPC barcode generator is focused: one format, nothing else bundled in. Type 11 digits and the tool calculates the 12th digit, the check digit, and renders a scannable barcode instantly in your browser. No file upload, no account, no waiting on a batch job. UPC-A is the 12-digit barcode format used at point-of-sale registers across the US and Canada: it's the code on nearly every packaged product on a retail shelf, from a cereal box to a bottle of shampoo.

The check digit is calculated for you

To be clear about what happens here: you enter 11 digits, and the generator computes the 12th automatically using the standard UPC-A check digit formula. It weights the first 11 digits alternately by 3 and 1, adds them up, and the check digit is whatever amount is needed to bring that sum up to the next multiple of 10. You never supply the check digit yourself and you don't need to calculate it by hand. The barcode that renders is a complete, scannable 12-digit UPC-A code. That part is solved. What isn't automatically solved is whether that 12-digit number means anything to anyone outside your own system.

A working barcode is not the same as a registered one

Here's the distinction that trips people up: this tool will happily turn any 11 digits into a barcode that scans perfectly fine. A scanner reads the bars and gives back the number. But if that number isn't one that's actually been assigned to you, a real store's point-of-sale system either rejects it or, worse, matches it to whatever product some other company registered under that number. The barcode works mechanically. The number behind it doesn't work commercially unless it's yours.

Real, sellable UPC-A numbers come from GS1, a US-based nonprofit that licenses manufacturer prefixes to companies. You apply, get assigned a prefix, and then you assign product codes within that prefix yourself. GS1 publishes current pricing and application steps on their own site, and that's the only path to a UPC-A number that a retailer's system will actually recognize as yours.

When this tool is exactly right without GS1

Plenty of legitimate uses don't need a GS1 number at all. Internal inventory or asset tracking inside your own warehouse or shop, where the only scanner reading the code is your own, is a fine use of a self-assigned number. Learning how barcode encoding and check digits work is another. And prototyping is a big one: mocking up packaging design, testing how a label looks with a barcode block on it, or showing a client a near-final layout before the real product code exists.

Worked example: say you're a small candle maker building label designs for six new scents. You haven't paid for a GS1 prefix yet because you're not sure which scents are making the final lineup. You type in 01234567890 for each mockup, the tool appends the correct check digit and gives you a real-looking, real-scanning UPC-A block to drop into your label design. Once GS1 assigns your actual prefix, you swap in the real numbers before the labels go to print. The mockups did their job without any registration cost sunk into scents that might get cut.

UPC-A and EAN-13

UPC-A is a subset of the wider EAN-13 standard used internationally, mainly outside North America. Any 12-digit UPC-A code can be read as a 13-digit EAN-13 code simply by adding a leading 0. That's why most modern retail scanners, built to the EAN-13 spec, read UPC-A codes without any special handling: they're the same system, and UPC-A is just the historically North American 12-digit case of it. If you're selling into European or other international retail channels, you'll likely be working with EAN-13 directly rather than UPC-A.

Printing size for real shelf labels

If a code you generate here is headed for an actual product on an actual shelf, size and print quality matter more than most people expect. Barcodes that are printed too small, too low-contrast, or on the wrong material can fail to scan even when the underlying number is correct. GS1's official specification lays out an allowed magnification range for UPC-A barcodes and guidance on quiet zones, contrast, and substrate: check it directly before sending real production labels to print, rather than guessing at a percentage.

The check digit math, worked in full

The generator does this instantly, but the by-hand version takes 30 seconds. Take the 11 digits 03600029145. Add the digits in the odd positions (1st, 3rd, 5th, 7th, 9th, 11th): 0+6+0+2+1+5 = 14. Multiply by 3 to get 42. Add the digits in the even positions (2nd, 4th, 6th, 8th, 10th): 3+0+0+9+4 = 16. Sum both parts: 42 + 16 = 58. The check digit is whatever lifts that total to the next multiple of 10, so 60 minus 58 gives 2. Final code: 036000291452. Paste the 11 digits into the tool above and confirm it appends a 2.

What a GS1 UPC actually costs

GS1 US sells UPC numbers two ways. You can buy a single GTIN for a one time fee with no renewal, which covers one product forever. Or you can license a company prefix that lets you generate many numbers yourself, priced by how many numbers the prefix supports, with a smaller annual renewal on top. Exact fees change over time and depend on your business size, so check current pricing directly on gs1us.org before you buy. As a rule of thumb: one product needs one single GTIN and nothing else. Past roughly 10 SKUs, apparel lines especially, where every size and color gets its own code, a prefix is usually cheaper over a few years than buying single GTINs one at a time. That is the case our garment barcode generator is built around.

Will a generated UPC work on Amazon?

Usually not for long. Amazon checks the UPC's company prefix against the GS1 registry when you create a listing. If the registered prefix owner does not match the brand on your listing, Amazon can block the listing at creation or suppress it later, sometimes well after sales have started. Cheap recycled UPCs sold outside GS1 often come from old prefixes that changed hands; they can pass an initial check and still fail a later brand audit you have no paperwork to answer. For Fulfilled by Amazon sellers, the safe path is a GTIN bought directly from GS1 under your own company name. Amazon also accepts EAN-13, so sellers who already hold European numbers can render those with the EAN-13 barcode generator.

Exact print size for a retail UPC-A

Nominal size at 100 percent magnification is 1.469 by 1.02 inches (37.29 by 25.93 mm) including the light margins. GS1 permits magnification from 80 percent to 200 percent, so the smallest compliant symbol is about 1.175 inches wide. Keep a quiet zone of blank space on each side, roughly 9 modules wide, and never crop the bar height on retail packaging: checkout scanners read the symbol at an angle and need the full bar length to lock on. The same clear margin rule matters when you print QR codes on labels.

Packs under about 1.2 inches: UPC-E

Gum, lip balm, and other small print faces often use UPC-E, an 8 digit zero suppressed form of an eligible UPC-A number. Not every UPC-A number can compress into UPC-E, so check the manufacturer code pattern before you design around it. This tool renders UPC-A only. For other symbologies use the multi-format barcode generator.

Related tools

Need other formats too? Try the multi-format barcode generator for EAN-13, Code 128, and others. Printing a code that needs to survive a phone camera instead of a laser scanner? The QR code generator covers that case.

Frequently Asked Questions

Does this tool calculate the UPC check digit for me?

Yes. You enter 11 digits and the generator computes the 12th check digit automatically using the standard UPC-A formula, then renders the full 12-digit barcode. You never need to calculate or type the check digit yourself.

Can I use a number I made up here to sell on a store shelf or on Amazon?

Not safely. The barcode will scan fine because the math is correct, but the number itself isn't registered to you. A retailer's system will either reject it or match it to a different company's product. Real sellable numbers come from a GS1-assigned manufacturer prefix.

What's the difference between UPC-A and EAN-13?

UPC-A is a 12-digit code used mainly in the US and Canada. EAN-13 is the 13-digit international superset used almost everywhere else. Any UPC-A code can be read as EAN-13 by adding a leading zero, which is why most modern scanners handle both without special setup.

How do I get a real UPC number?

Apply for a manufacturer prefix through GS1, the US-based nonprofit that administers barcode number assignment. Once you have your prefix, you assign product codes within it yourself. GS1's site has current pricing and application details.

Can I use this for internal inventory without registering with GS1?

Yes. If the only scanners reading the code are your own, inside your own warehouse, shop, or asset-tracking system, a self-assigned number works fine. GS1 registration only matters when the code needs to mean something to systems outside your control.

What size should I print a UPC-A barcode for a real product?

Big enough and high-contrast enough for a register scanner to read reliably, which usually means staying within GS1's official allowed magnification range. Check GS1's specification directly before sending production labels to print rather than guessing at a size.

Why would my barcode scan but ring up as the wrong product?

Because the barcode's bars and the check digit are just math. Whether the number connects to your product in a store's database depends entirely on whether that number was actually assigned to you through GS1. A self-made number can scan perfectly and still point to nothing, or to someone else's item.