How a UPC-A barcode works
A UPC-A barcode encodes 12 digits. The first digits are the company prefix licensed to you by GS1, the next digits are the item number you assign to each product, and the last digit is a check digit. A scanner reads the bars, recalculates the check digit and rejects the scan if it does not match, which stops typos and misreads at the till.
Check digit example: for 03600029145, add the digits in the odd positions (0+6+0+2+1+5 = 14) and multiply by 3 (42), add the digits in the even positions (3+0+0+9+4 = 16), giving 58. The check digit is the number that brings this up to the next multiple of 10: 2. The full UPC is 036000291452.
Tips for printing UPC barcodes
- Use SVG for packaging. Designers can place the SVG in Illustrator, InDesign, Affinity or Canva without any blur.
- Do not squash or stretch it. Scale width and height together, between 80% and 200% of the standard size.
- Leave white space on both sides. Scanners need a clear quiet zone; do not place text or edges right next to the bars.
- Print dark bars on a light background. Black on white is best. Red bars and dark backgrounds often fail to scan.
- Test with a real scanner or a scanning app before you print thousands of labels.
Common mistakes
- Buying cheap resold numbers. Numbers not licensed to your company can be rejected by Amazon and large retailers. Use GS1.
- Reusing a UPC for a different product. Each product variant (size, colour, pack count) needs its own number.
- Typing the wrong check digit. If you enter 12 digits and the last one is wrong, DocNova shows an error instead of drawing a bad barcode.
- Using UPC for internal stock. For your own SKUs and bin labels, a Code 128 barcode is simpler and needs no licence.