๐Ÿ“„
QR Tools Live

UPC-A Barcode Generator (Free, Check Digit Included)

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.

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.