What a UPC-A encodes
A UPC-A holds a 12-digit GTIN (GTIN-12). It is the retail barcode of the United States and Canada, introduced in the 1970s, and the ancestor of EAN-13. Like an EAN-13, it identifies one product variant and nothing else; prices live in the retailer's system.
The number
The first digit is the number system, then comes a GS1 company prefix, the item reference, and the check digit. UPC numbers issued by GS1 US have company prefixes of six to eleven digits depending on how many products the company licenses for.
Check digit
The UPC check digit is calculated the same way as for EAN-13: from the right of the first 11 digits, weight alternately by 3 and 1, sum, and take the amount to the next multiple of 10. For 03600029145 the check digit is 2. The tool adds it when you enter 11 digits and checks it when you enter 12.
Size
UPC-A has the same module structure as EAN-13 and the same size rules: 0.33 mm modules at 100%, from 80% to 200%, with bars about 22.85 mm tall at 100%. The quiet zone is 9 modules on each side. Set the magnification in the tool; the size line under the preview shows the exact width, height and module size, and warns if you go below 80%.
UPC-A or UPC-E?
UPC-E is a shortened form for small packs that suppresses zeros from certain UPC-A numbers. Only some numbers can be compressed. If your packaging is too small for a UPC-A at 80%, see the UPC-E generator.
Printing tips
- Print at 100%. In the print dialog choose "Actual size" or 100%, never "Fit to page". Scaling changes the bar widths, and a barcode printed at 94% can fall outside the reader's tolerance.
- Use vector files where you can. The SVG and PDF downloads are vector: bars stay sharp at any size and the PDF page is exactly the barcode's size. Use PNG for software that only takes images, at 300 dpi for office printers and 600 dpi for thermal label printers.
- Dark bars, light background. Black on white scans best. Dark blue and dark green work; red, orange and yellow bars are invisible to red-light laser scanners. The tool warns when the contrast is low.
- Keep the quiet zone. The clear margin either side of the bars is part of the symbol. Do not let text, a box edge or a label edge into it.
- Test before a print run. Print one, then scan it with the scanner your customers or staff will actually use, and with a phone app, before printing hundreds.
Why barcodes fail to scan
- Too small or scaled. Bars printed narrower than the reader can resolve, or a file squashed in one direction when it was placed in artwork.
- No quiet zone. Text, a border or the edge of the label too close to the first or last bar.
- Low contrast. Grey on grey, coloured bars on a coloured background, or bars printed on a shiny or transparent surface.
- Ink spread and blur. Inkjets on absorbent paper and worn thermal printheads widen the bars. Print a test and check the bars look crisp; for thermal printers, use 600 dpi or the printer's native resolution.
- Curved or creased surfaces. Bars wrapped around a narrow bottle or across a fold. Turn the barcode so the bars run with the curve (picket fence across a flat face, ladder around a cylinder).
- Wrong data. A check digit that does not match, or a number with the wrong length. This tool checks both before it draws anything.
Which download to use
- SVG for designers and packaging artwork. It is a vector file sized in millimetres, so it opens at the right size in Illustrator, Inkscape, Affinity and Canva, and stays sharp when printed. Do not stretch it in one direction.
- PDF when you send a file to a printer or place it in a print layout. The page is exactly the size of the barcode, quiet zone included, so it can be placed at 100% without measuring.
- PNG for software that only accepts images: label printer apps, spreadsheets, online stores and word processors. Choose 300 dpi for office printers and 600 dpi for thermal label printers. The tool rounds each module to a whole number of pixels so the bars stay crisp, which can make the PNG slightly smaller or larger than the millimetre size; the size line under the preview shows the result. Tick "transparent" to drop the background for placing on coloured artwork, but keep a light background behind the bars when printed.
To make many at once, use the ZIP option below the generator: paste one value per line or load a CSV and download PNG or SVG files named after each value.
How this tool works
Barcodes are drawn in your browser with bwip-js, an open-source (MIT) port of Barcode Writer in Pure PostScript, and PDFs are written with pdf-lib. Nothing you type is uploaded, and the page works offline after the first visit. Single barcodes are free in every format with no watermark. Paid licences cover print-ready label sheets and large batches; see the box above.