UPC Generator & Check Digit Calculator

Free UPC-A generator: type 11 digits for an automatic check digit (or 12 to verify one), see the check-digit math step by step, download the barcode, and convert to EAN-13/GTIN.

036000291452

Check digit calculation

1. Data digits: 03600029145

2. Add the digits with weight 3 (14 × 3 = 42) plus the digits with weight 1 (16): 58

3. Round up to the next multiple of 10: 60

4. Check digit = 60 − 58 = 2

Same product, other GTIN formats

FormatNumber
UPC-A / GTIN-12036000291452
EAN-13 / GTIN-130036000291452

Runs entirely in your browser — the number you enter is never uploaded. Only your display options are saved locally.

What is a UPC barcode?

UPC-A is the 12-digit barcode on most retail packaging in the US and Canada: a number-system digit, a 5-digit company prefix (issued to a specific manufacturer/brand by GS1), a 5-digit item reference, and a check digit. It's structurally the same system as the 13-digit EAN-13 used almost everywhere else in the world — a UPC-A is an EAN-13 with an extra leading 0.

UPC-A check digit, step by step

For payload 03600029145:

  1. Digits, in order: 0 3 6 0 0 0 2 9 1 4 5
  2. Weight-3 digits (alternating from the right) sum to 14, ×3 = 42
  3. Weight-1 digits sum to 16
  4. Total: 42 + 16 = 58
  5. Next multiple of 10: 60
  6. Check digit: 60 − 58 = 2

Full UPC-A: 036000291452

UPC-A, EAN-13 and GTIN-14 — the same number, different formats

FormatDigitsExampleTypical use
UPC-A / GTIN-1212036000291452Retail, US/Canada
EAN-13 / GTIN-13130036000291452Retail, international
GTIN-141410036000291459Shipping cases/pallets (a whole carton of the item above)

GS1: where a real UPC number comes from

This tool computes valid check digits and draws a scannable barcode for whatever digits you give it — but it does not issue product numbers. A genuine UPC that identifies your product at retail must trace back to a GS1 Company Prefix, licensed from GS1 (or GS1 US in the US/Canada). Some marketplaces and retailers specifically validate that a UPC's prefix belongs to your registered account, so a self-assigned number can cause a listing to be rejected even though it scans perfectly fine everywhere else — see the FAQ for more.

Need a different barcode type?

This page is UPC-A specific. For Code 128 (shipping/logistics/internal SKUs), Code 39, EAN-13 or EAN-8, see the barcode generator, which also supports batch mode for generating many barcodes at once.

Frequently asked questions

What is a UPC barcode?

UPC-A (Universal Product Code) is the 12-digit barcode printed on most retail products sold in the US and Canada: a number-system digit, a 5-digit manufacturer (company prefix) code, a 5-digit item code, and a check digit at the end. Scanning it looks up that exact product in a store or online catalog. It is the North American counterpart to the 13-digit EAN-13 used in most other countries — in fact a UPC-A is just an EAN-13 with an extra leading 0, and both scan on the same equipment.

What is a UPC check digit, and how is it calculated?

The check digit is the 12th digit, calculated from the other 11 so a scanner can catch a misread. Add up the digits at odd positions from the right (counting the check digit's position as position 1) and multiply by 3, add the digits at even positions, then find how far that total is from the next multiple of 10 — that's the check digit. Example: 03600029145 → weight-3 digits sum to 14 (×3 = 42), weight-1 digits sum to 16, total 58, next multiple of 10 is 60, so the check digit is 60 − 58 = 2, making the full number 036000291452.

Do I need to buy a UPC number to use this tool?

This tool draws the barcode and calculates check digits for any 11 or 12 digits you provide — it doesn't issue, register, or verify ownership of a UPC number. A number you make up will produce a perfectly valid, scannable barcode here and on almost any scanner, but it is NOT a real product identifier unless it was issued to you. If you need a UPC that will work for real retail sale (recognized by a store or marketplace as belonging to your product), see the next question.

How do I get a real, GS1-registered UPC number?

Retail UPCs are issued by GS1 (gs1.org, or gs1us.org in the US/Canada), the nonprofit that manages the global company-prefix system barcodes are built on. You license a GS1 Company Prefix (a one-time or annual fee based on how many numbers you need), which gives you a block of UPC/EAN numbers to assign to your own products. Some marketplaces (Amazon, certain retailers) specifically check that a UPC's prefix is registered to your business, so a made-up or resold number can get a listing rejected or removed.

What is GS1, and why does it matter for UPC barcodes?

GS1 is the not-for-profit standards organization that has issued and managed UPC/EAN company prefixes worldwide since barcodes were introduced in the 1970s. Because every legitimate UPC traces back to a GS1-issued prefix, retailers and marketplaces treat GS1 registration as proof that a barcode's number is really yours to use — it's the difference between a barcode that scans (any 12 valid digits do that) and a barcode that identifies YOUR product in a retailer's system.

Can I convert a UPC to EAN-13?

Yes — an EAN-13 is just a UPC-A with a 0 in front; the check digit doesn't even change, because that leading 0 always lands on a position that contributes nothing to the sum. UPC-A 036000291452 is EAN-13 0036000291452, and both encode to the identical bar pattern (an EAN-13 scanner reads the leading 0 the same as a "no code" placeholder). The table above shows this conversion, plus GTIN-14 (used for shipping cases: an extra leading "indicator" digit and its own recalculated check digit) — here, indicator 1 gives 10036000291459.

What's the difference between UPC-A and UPC-E?

UPC-E is a "zero-suppressed" 8-digit compressed version of UPC-A, used on small packages (like gum or lip balm) where a full 12-digit barcode would not fit — it can be mathematically expanded back to its original 12-digit UPC-A. This tool generates UPC-A directly; UPC-E is a separate, less commonly needed symbology.

Why does this tool reject the check digit I typed?

To make sure the barcode it draws is actually valid — a mismatched check digit means the number itself has a typo somewhere in the other 11 digits, and drawing it anyway would produce a barcode that fails validation the moment it's scanned. Leave the check digit off (enter only 11 digits) to have it calculated automatically instead of typing one.

Is my UPC number uploaded or saved anywhere?

No — everything runs in your browser using plain JavaScript. The number you type is never sent to a server or logged; only your display preferences (like PNG export scale) are saved in your own browser's local storage.

This tool draws a UPC-A barcode and calculates its check digit from the digits you provide; it does not issue or register GS1/UPC numbers. A barcode built from a number you made up will scan as valid but is not a real, registered product identifier. Spotted a wrong result? Tell us. Last reviewed .