What is a UPC-A barcode?
A UPC-A barcode is the standard 12-digit retail barcode in the United States and Canada. UPC stands for Universal Product Code. The number it holds is a GTIN-12 (Global Trade Item Number), issued through GS1 US, and it identifies one specific product variant at the checkout and in the supply chain.
UPC barcodes were first scanned at a US supermarket checkout in 1974, and UPC-A remains the most familiar barcode on North American packaging.
What the 12 digits mean
- GS1 Company Prefix: assigned to your business by GS1 US. Its length varies with how many products you need to number.
- Item reference: the digits you assign to each product, size and pack.
- Check digit: the final digit, calculated from the first 11.
How the bars are laid out
A UPC-A barcode is 95 modules wide: a start guard, six left-hand digits, a center guard, six right-hand digits and an end guard. Each digit uses 7 modules made of two bars and two spaces.
UPC-A and EAN-13
A UPC-A number is a 12-digit GTIN. Add a leading 0 and you get the equivalent 13-digit EAN-13 number. Scanners in North America read both formats, so products with an EAN-13 barcode can also be sold there.
How do you get a UPC number?
You get a UPC number from GS1 US, the organization that administers UPC numbering in the United States. CardDeck generates the barcode image from your number; it does not issue numbers.
Options from GS1 US
- A GS1 Company Prefix: a block of numbers for brands with several products. You assign item references within the block.
- Individual GTINs: a single number for a business with one or a few products, where GS1 US offers this.
In Canada, numbers come from GS1 Canada. Elsewhere, contact your local GS1 member organization, which issues numbers you can use as EAN-13 or, if they start with 0, as UPC-A.
Avoid resold numbers
Numbers sold cheaply by third parties were often licensed to a different company. Retailers and marketplaces can check the number against GS1 records, and a mismatch can lead to rejected listings.
Every variant needs its own number
Each size, flavor, color and pack size is a separate product with its own GTIN. A six-pack and a single can need different numbers. Keep a simple product list with each GTIN, description and pack size, and generate barcodes from that list so the number on the pack always matches your records.
How is the UPC-A check digit calculated?
The UPC-A check digit uses the GS1 modulo-10 method: multiply the digits in odd positions by 3 and the digits in even positions by 1, add everything, and find the number that brings the total up to the next multiple of 10.
Worked example: 03600029145
- Odd positions (1st, 3rd, 5th, 7th, 9th, 11th): 0, 6, 0, 2, 1, 5. Their sum is 14. Multiply by 3: 42.
- Even positions (2nd, 4th, 6th, 8th, 10th): 3, 0, 0, 9, 4. Their sum is 16.
- Add: 42 + 16 = 58.
- The next multiple of 10 is 60. 60 − 58 = 2.
- The check digit is 2, so the full UPC-A is 036000291452.
If the total is already a multiple of 10, the check digit is 0.
What CardDeck does
- Enter 11 digits and CardDeck adds the check digit.
- Enter 12 digits and CardDeck verifies the last one. A mismatch usually means a typo in the number.
The method is the same as EAN-13; only the starting weight differs, because EAN-13 has one more digit at the front.
What size should a UPC barcode be?
At 100% magnification, a UPC-A barcode is about 37.3 mm (1.47 in) wide and 25.9 mm (1.02 in) tall including quiet zones, with an X-dimension of 0.33 mm. GS1 allows 80% to 200% magnification for general retail.
Quiet zones
Leave at least 9 times the X-dimension clear on each side, about 3 mm at 100%. Do not let text, borders, folds or the edge of a label run into this space.
Height
Keep the full bar height. Shortening the bars to fit a small pack makes the barcode harder to scan at a checkout, and GS1 discourages it. If your pack is genuinely small, ask GS1 US about UPC-E, a compressed format for small packages.
Printing tips
- Black bars on a white background are safest.
- Never use red bars; checkout scanners use red light.
- Use SVG so bars stay sharp at any magnification.
- Print a proof on the real material and scan it before the full run.
- Put the barcode on a flat area, away from seams and tight curves.
- Ask your printer whether the printing process needs a minimum magnification above 80%.
How do I create a UPC barcode with CardDeck?
Choose UPC-A, enter the first 11 digits of your GTIN-12, check the preview and download an SVG for your packaging. For a full range, generate them from a spreadsheet.
Single barcode
- Open the barcode generator and choose UPC-A.
- Enter 11 digits, or all 12 to verify an existing check digit.
- Confirm the digits under the bars match your product record.
- Download SVG and place it in your packaging artwork at 80–200% of nominal size.
- Test-scan a printed proof.
A whole product range
- Put each GTIN in its own spreadsheet row and format the column as Text, so Excel keeps the leading 0.
- Upload the file to the bulk barcode generator and choose UPC-A.
- Fix flagged rows, such as numbers with 10 digits or wrong check digits.
- Download a ZIP of SVG files, one per product.
For stock control and shelf labels alongside retail barcodes, see CardDeck for retail and inventory.
Before you send artwork to print
- Check the number against your GS1 US record.
- Confirm the barcode is at least 80% of nominal size.
- Confirm quiet zones are clear on both sides.
Making UPC barcodes by hand vs with CardDeck
| Without CardDeck | With CardDeck | |
|---|---|---|
| Check digit | Calculated by hand | Calculated or verified automatically |
| Leading zeros | Lost in spreadsheets | Validated per row |
| Output | Low-resolution images | Vector SVG for packaging |
| Product ranges | One at a time | Hundreds from a spreadsheet |
| Cost | Paid or watermarked tools | Free and unlimited |