Home › How to Create a UPC Barcode
How to Create a UPC Barcode — Complete Step-by-Step Guide
Last updated: April 2026
A UPC barcode (Universal Product Code) consists of two things: a GTIN-12 number registered with GS1 that uniquely identifies your product, and a barcode image that encodes that number in a machine-readable format for retail scanners. Creating a retail-ready UPC barcode involves four stages: obtaining a GS1 Company Prefix, constructing your GTIN-12 product number, generating the barcode image, and verifying the print output before commercial use. This guide covers all four stages in full, including specific guidance for businesses registered in Canada.
What You Will Need Before You Start
- A GS1 Company Prefix registered to your business (obtained from GS1 US or GS1 Canada — see Step 1)
- A unique item reference number for each product variant you want to barcode
- A printer capable of 300 DPI or higher output, or a packaging artwork file for a commercial print run
- A barcode scanner or smartphone app to verify the output before use
For internal-use barcodes only (warehouse labels, asset tags, event tickets) — not for retail scanning at a point of sale — you can skip GS1 registration entirely. Jump to Step 3: Generate the Barcode Image.
Step 1 — Register Your GS1 Company Prefix
The GS1 Company Prefix is the unique identifier assigned to your business by GS1. It forms the first part of every GTIN you assign to your products. Without a GS1-registered prefix, your barcodes will not pass validation at Amazon, Walmart, Google Shopping, or any major retailer.
In the United States
Register at gs1us.org. GS1 US offers Company Prefix packages in different sizes based on the number of products you need to identify. Packages range from 10 GTINs (suitable for a very small catalogue) up to 100,000 GTINs for large manufacturers. The prefix itself is 6 to 10 digits long depending on package size — a longer prefix means fewer item reference digits available, which limits the number of unique products you can identify under that prefix.
In Canada
Register at gs1ca.org. GS1 Canada issues Company Prefixes in the standard GS1 0-prefix range, which means Canadian-registered GTINs encode as standard UPC-A barcodes (GTIN-12) and are accepted at US retailers, Amazon US, Walmart US, and all other North American and international channels. There is no functional difference between a GS1 US prefix and a GS1 Canada prefix at the point of sale or on any marketplace. Canadian businesses do not need to register separately with GS1 US to sell in the US.
GS1 Canada's membership fee structure is similar to GS1 US and includes access to the GS1 Canada product registry, where you can formally register your product descriptions against each GTIN. Registering your products in the GS1 registry strengthens GTIN validation at Walmart and Amazon and makes your products easier to find by retail buyers sourcing new products through GS1's global database.
Step 2 — Construct Your GTIN-12 Number
A GTIN-12 (UPC-A) consists of three parts concatenated into a 12-digit string:
| Part | Length | Description |
|---|---|---|
| GS1 Company Prefix | 6–10 digits | Assigned by GS1 to your company — uniquely identifies your brand |
| Item Reference Number | 1–5 digits (remainder after prefix) | Assigned by you to each unique product variant |
| Check Digit | 1 digit | Mathematically calculated from the preceding 11 digits |
Together, the prefix and item reference must total 11 digits. The 12th digit is always the check digit, calculated using the GS1 Modulo-10 algorithm. You do not need to calculate the check digit manually — BatchPrintGTIN calculates it automatically from the 11-digit value you enter.
For example: if your GS1 Company Prefix is 0614141 (7 digits) and you assign item reference 0001 (4 digits) to your first product, your 11-digit string is 06141410001. BatchPrintGTIN calculates the check digit and produces the full 12-digit GTIN-12: 061414100012.
Keep a spreadsheet of your GTIN assignments. Record the full GTIN-12, the item reference number, the product name, the variant attributes (size, colour, flavour), and the date assigned. This is your private GTIN register — it prevents accidental reuse of a number and is the authoritative record for your business.
Step 3 — Generate the Barcode Image
With your 11-digit GTIN-12 prefix constructed, open BatchPrintGTIN and select UPC-A as the barcode type. Enter your 11 digits in the data field. The generator appends the check digit automatically and renders the UPC-A barcode image in real time. Adjust bar height and width multiplier if needed for your label size, then download in your preferred format:
- SVG — recommended for packaging artwork, professional printing, and label design software. Vector format: scales to any size without quality loss. Send this to your packaging designer or print supplier.
- PNG at 600 DPI — recommended for in-house label printing on laser or inkjet printers. Use 300 DPI as a minimum; 600 DPI produces sharper bars and reduces the risk of scanning failures on consumer printers.
- PNG at 300 DPI — acceptable for thermal label printers and short-run commercial label printing.
If you are generating barcodes for a full product catalogue, use the batch generator. Create a CSV file with one 11-digit GTIN prefix per row, upload it, and BatchPrintGTIN generates all UPC-A images simultaneously and packages them in a ZIP file or formats them on Avery label sheets in a single PDF.
Step 4 — Print and Verify Before Use
Never apply barcodes to a product at scale without first printing and scanning a test label. A barcode that looks visually correct — clean bars, readable numbers — can still fail to scan if the bar width is marginally too narrow at the chosen print resolution, if the printer introduces ink spread, or if the label substrate has a texture that affects scan geometry.
Pre-flight print checklist
- Print the barcode at the intended production size on the intended label stock or packaging substrate
- Scan with a handheld barcode scanner or a smartphone barcode app (iOS Camera, Android Google Lens, or a dedicated scanner app)
- Verify the scanner reads back exactly your 12-digit GTIN — check every digit, not just the first few
- Test from multiple angles — a retail scanner will not always be perpendicular to the label
- Check the quiet zones — the white space on each side of the barcode must be at least 3mm; anything narrower causes scan failures
- Inspect bars under magnification — individual bars should be sharp-edged, not fuzzy or ragged
- If any test fails, increase print resolution, choose SVG for a sharper output, or increase the barcode size before committing to a production run
GS1 Size and Placement Requirements for Retail
GS1 specifies that a UPC-A barcode for retail use must be printed at between 80% and 200% of nominal size. Nominal size is 37.29mm wide × 25.9mm tall. At 80% magnification (the minimum), the barcode is approximately 29.8mm wide — the absolute floor for retail use. At 100% nominal, it is 37.29mm wide. Most consumer goods use 100% nominal or slightly larger. Smaller than 80% and the barcode will routinely fail to scan at retail checkout.
Placement: on the back panel or bottom of the package where possible, on a flat surface, away from seams, folds, and curves. For bottles and cylindrical packaging, the barcode must be placed so it can lie flat against a scan window — this typically means placing it on a flat area of the label rather than wrapping it around the curve.
Frequently Asked Questions
Can I create a UPC barcode without registering with GS1?
You can generate the barcode image without GS1 registration — BatchPrintGTIN will create the image from any 11-digit number you enter. However, for retail use (scanning at point of sale, listing on Amazon, Walmart, or Google Shopping), the GTIN must be GS1-registered to your brand. Unregistered GTINs are increasingly rejected by major marketplaces and will fail validation at most retail chains. For internal-use only barcodes (warehouse, asset tracking), registration is not required.
How many barcodes do I need for a product with multiple sizes and colours?
One unique GTIN per variant. A T-shirt available in small, medium, large, and XL in two colours (red and blue) requires 8 unique GTINs — one for each size-colour combination. A red small and a blue small are different products from a retail scanning perspective and must have different barcodes. This is why GS1 Company Prefix packages scale by the number of GTINs included.
Does the check digit change if I change the item reference number?
Yes. The check digit is mathematically derived from the full 11-digit number (Company Prefix + Item Reference). If you change any digit in the first 11 positions, the check digit changes. BatchPrintGTIN recalculates the check digit automatically whenever you change the input, so you always see the correct full 12-digit GTIN without manual calculation.
What is the difference between UPC-A and UPC-E?
UPC-A is the standard 12-digit barcode used on most consumer retail products. UPC-E is a compressed 6-digit version designed for very small packaging where a full UPC-A barcode won't physically fit — think lipstick caps, matchboxes, or very small blister packs. UPC-E is derived mathematically from a UPC-A and encodes the same GTIN — scanners decode it back to the full 12-digit GTIN at checkout. Use UPC-A unless your product packaging genuinely cannot accommodate the minimum UPC-A size.
Can a Canadian business sell products in the US with a GS1 Canada barcode?
Yes, completely. GS1 Canada issues Company Prefixes in the same standard number range as GS1 US. A GTIN-12 issued by GS1 Canada encodes identically to one issued by GS1 US — the resulting UPC-A barcode is indistinguishable to any retail scanner or marketplace system. Canadian businesses do not need a separate US GS1 registration to sell at US retailers, on Amazon US, or Walmart US.
