UPC-A Barcode Generator

UPC-A is the twelve-digit retail barcode of the United States and Canada — the original checkout symbol, in continuous use since 1974. Enter 11 digits and the tool computes the check digit (and tells you); enter all 12 and it verifies yours. After encoding, the check digit is re-derived independently before the barcode is shown.

UPC-A generator

Generated locally in your browser — nothing you type is transmitted or stored.

11 digits (check digit computed for you) or 12 digits (check digit verified).

Enter content above to generate a barcode.

The check-digit readout appears here once a barcode is generated.

Before print or production use: test the downloaded barcode with your own scanner or scanner app. This tool verifies the mathematics (check digits, character sets) — it cannot verify your printer's contrast, size, or quiet-zone reproduction.

A rendered symbol is not a registered number

Before printing this on anything you plan to sell: UPC numbers are licensed, not generated. Retailers and marketplaces increasingly validate GTINs against the GS1 registry, and a number nobody licensed to you will be rejected — or worse, collide with someone else's product. What this tool legitimately does is render numbers you already have the right to use: GTINs from your GS1 prefix, internal codes for a closed store system, or samples for design mockups.

UPC-A is EAN-13 wearing a shorter coat

The two symbologies share one numbering system (GTIN) and one check-digit algorithm. Worked at build time by this site's engine: data digits 03600029145 require check digit 2, giving the complete UPC-A 036000291452 — and its EAN-13 form 0036000291452 yields the identical check digit 2, because a leading zero adds nothing to the weighted sum. That equivalence is why an EAN-13 generator will accept your UPC with a zero in front, and why scanners report either form interchangeably.

The mod-10 check, from the UPC side

In UPC terms: add the digits in the odd positions (first, third, fifth…), triple that sum, add the digits in the even positions, and the check digit is whatever lifts the total to a multiple of ten. It is the same 3-and-1 weighting as EAN-13, just described from the other end — both are anchored at the rightmost data digit, which always carries weight 3.

Print size and quiet zones

GS1 size guidance calls for light margins of at least 9 module widths on each side of a UPC-A symbol (GS1 size guide). The downloads include those quiet zones. Beyond the margins, the advice is qualitative but firm: print dark bars on a light background, do not scale below the sizes your print process can hold cleanly, and test the result with a real scanner — the supermarket laser is the only judge that counts.

UPC-A FAQ

How many digits do I enter?

Eleven or twelve. With 11 digits the tool computes the 12th (the check digit) and says so; with 12 it verifies your last digit against the first eleven and reports any mismatch instead of silently accepting it.

Is UPC-A different from EAN-13?

A UPC-A number is a 12-digit GTIN. Put a zero in front and you have its 13-digit EAN form — same product, same check digit, and EAN-capable scanners worldwide read both. UPC-A remains the conventional symbol on North American packaging.

Where do real UPC numbers come from?

From GS1. Companies license a GS1 company prefix (in the US, via GS1 US) and allocate product numbers under it. A generator can render any mathematically valid 12 digits, but only licensed numbers identify products in retail systems.

Why does my scanner read out 13 digits for a UPC-A?

Many scanners normalize every retail symbol to GTIN-13 form by prefixing a zero. The barcode is unchanged; the scanner is just reporting the same number in its 13-digit form.

Is anything I type sent anywhere?

No. Validation, check-digit math, and rendering run entirely in your browser; nothing is transmitted or stored.

Verify before production: mathematics checked here, optics checked by your scanner — always test the printed symbol. Everything runs locally in your browser; see the methodology page.