UPC-A barcode generator

UPC-A is the twelve-digit code on the back of almost everything sold in a North American shop. Eleven digits identify the company and the item; the twelfth is a check digit derived from the other eleven. The field here wants all twelve, and eleven produces no symbol, but the check digit is computed regardless: give it eleven digits and the status line returns the full number with the twelfth in place, ready to paste back in.

Appearance
Size
Caption
Caption position
Caption alignment
Colours

340 × 244 px in the PNG

Size units

Specification

Character set
digits
Length
exactly 12 characters
Check digit
calculated automatically by the encoder

Where it is used

  • Retail packaging aimed at the United States and Canada, where checkout systems still expect twelve digits rather than thirteen
  • Online marketplace listings that refuse to publish a product page until a valid GTIN is supplied
  • Reprinting a barcode that has rubbed off an existing pack, where the number itself is known and only the symbol has to be redrawn
  • In-store labels built on the restricted number-system digits 2 and 4, which GS1 leaves to the retailer and which mean nothing outside that shop

How it compares

UPC-A and EAN-13 are the same symbol wearing different numbers. Put a zero in front of a UPC-A and you have a valid EAN-13; strip a leading zero from an EAN-13 and you have the UPC-A back. Both are 95 modules of bars plus 18 modules of quiet zone — 113 in total, 37.29 mm at full size — and both use the same mod-10 check digit with alternating weights of 3 and 1. The split is regional, not technical: North American retail settled on twelve digits, the rest of the world on thirteen. Any scanner built for EAN-13 reads UPC-A without being told to; the risk runs the other way, since older equipment built strictly around twelve digits sometimes refuses a thirteen-digit number.

Common mistakes

  • Inventing your own number. The generator draws whatever digits you give it, but the right to print a particular number on a product for sale comes from a company prefix licensed from GS1 — a number you made up may already belong to another manufacturer.
  • Adding a thirteenth digit as a check digit. In UPC-A the check digit is the twelfth digit; it is part of the number, not something appended to it.
  • Shrinking the symbol to fit the space left on the artwork. The standard runs from 80% to 200% magnification: at 100% a module is 0.33 mm and the symbol is 37.29 mm wide, so 80% and a 0.264 mm module is the floor, not a suggestion.
  • Printing the bars in red or orange. Laser scanners read with a red beam, and red bars on a white background reflect it almost as well as the paper does, so the symbol reads as a blank label.

Frequently asked questions

Do I have to buy a prefix before I can use this barcode?
For anything sold through retail, yes. Bars are only an encoding of a number, and the right to use a specific number comes from a GS1 company prefix that you licence. Nothing is registered for a code that never leaves your own warehouse — and for that kind of internal use Code 128 is usually the better symbology anyway, since it takes letters too.
What if I only know the first eleven digits?
Eleven digits draw nothing, and the status line prints the complete twelve with the check digit worked out, ready to paste back. The branch worth knowing is the other one: type all twelve with the last digit wrong and the same line names the digit that belongs there instead. That is the branch you want when you are checking a number read off an imported pack rather than computing a new one.
What does the first digit mean?
It is the number system character. General trade items normally begin with 0, 1, 6, 7 or 8, drug products in the United States use 3, and 2 and 4 are reserved for a retailer's own in-store codes — a 2-prefixed code on a pack of cheese is priced by weight inside one chain and means nothing at the shop next door.
Can I put a UPC-A on a pack that ships worldwide?
You can, and it will scan, because a UPC-A is simply an EAN-13 whose leading digit is zero. Whether you should depends on the buyer: some trading partners outside North America want the thirteen-digit form printed on the pack even though both encode the same item.