Free UPC-A Barcode Generator

🔒 Runs in your browser — nothing is sent to a server

Generate UPC-A barcodes online for free. UPC-A (Universal Product Code, version A) is the 12-digit retail barcode used on virtually every consumer product sold in the United States and Canada. A valid UPC-A starts with a number-system digit, followed by a GS1 company prefix, a product reference, and a final check digit. Enter 11 digits and the check digit is calculated automatically, or paste all 12 for validation. Export as print-ready PNG or SVG in any size and download without signing up. Everything runs inside your browser — nothing is uploaded.

1. Select barcode type

2. Enter content and adjust style

11–12 digits — e.g. 012345678905

Style

3px
100px
15px

3. Preview and download

No barcode yet — click Generate

Copied!
Copied!

Where UPC-A is required

Every major North American retailer — Walmart, Target, Kroger, Costco, CVS, Whole Foods, Amazon US — requires products to carry a GS1-allocated UPC-A before listing. Online marketplaces now verify UPCs against the GS1 database and reject resold or self-assigned codes. Outside retail, UPC-A also appears on pharmaceuticals (number-system 3, encoding the FDA NDC), coupons (system 5), and produce PLU stickers (system 2).

Printing UPC-A for retail packaging

UPC-A must be printed at 80% – 200% of nominal size (nominal: 37.29 × 25.91 mm with a 0.33 mm X-dimension). Left and right quiet zones must each be 9× the X-dimension. Print at 300 DPI or better, and keep the code on a light background with dark bars (black on white is safest; never invert). Export SVG and scale inside your packaging artwork rather than resizing a PNG.

FAQ

What is a UPC barcode?

A UPC (Universal Product Code) barcode is the 12-digit numeric identifier attached to retail products across North America. The most common form, UPC-A, is defined in ISO/IEC 15420 and combines a single-digit number system designator, a 5-digit GS1 company prefix, a 5-digit product reference, and a modulo-10 check digit. Scannable at every North American till and by every modern handheld scanner worldwide.

What is the difference between UPC-A and EAN-13?

Technically, none: a UPC-A is the same code as an EAN-13 with a leading zero. Every modern scanner reads both interchangeably, and the underlying bar pattern is identical once you prepend the zero. The distinction is historical and geographic — UPC-A was the original North American standard (1973), and EAN-13 (1977) extended it worldwide by adding the leading prefix digit.

How do I get a legitimate UPC for my product?

You need a GS1 Company Prefix, which you purchase from GS1 US (gs1us.org) — the authoritative issuer of UPC codes in the United States. GS1 allocates the first 6–10 digits of your UPCs; you then assign the remaining product-reference digits yourself. Third-party resellers exist, but many major retailers (Amazon, Walmart, Kroger) no longer accept resold UPCs, so a direct GS1 membership is the only durable route.

How is the UPC-A check digit calculated?

Starting with the 11 leading digits, sum the digits at odd positions (1st, 3rd, 5th, …) and multiply the total by 3. Add the digits at even positions, take the grand total modulo 10, and subtract from 10 (treating 10 as 0). The result is the 12th digit. This generator handles the arithmetic for you — enter 11 digits and the 12th is filled in automatically.

Can this tool generate UPC-E codes?

Not currently — this generator produces UPC-A (12-digit) codes only. UPC-E is a zero-suppressed variant that compresses a UPC-A with specific zero patterns into 8 printed digits, used on small packaging where UPC-A will not fit. For international-equivalent short codes, use the EAN-8 Generator linked below.

Why does my UPC say "invalid"?

UPC-A accepts exactly 11 or 12 digits, nothing else — no letters, no dashes, no spaces. Common causes of the invalid error: you entered 10 digits (missing one), you included the dashes from a printed UPC (strip them), you pasted an EAN-13 (13 digits — drop the leading zero or use the EAN-13 Generator instead), or your 12-digit code failed the check-digit validation.

Glossary

UPC-A

The full 12-digit form of the Universal Product Code, introduced in 1973 and dominant in North American retail. Encodes a number-system digit, a GS1 company prefix, a product reference, and a check digit. Technically identical to EAN-13 with a leading zero.

UPC-E

A zero-suppressed 8-digit variant of UPC-A for small packaging. UPC-E only works for UPC-A codes that contain specific zero patterns — not every UPC-A can be compressed. Scanners automatically expand UPC-E back to the full UPC-A at read time.

Number system digit

The first digit of every UPC-A, indicating the code category: 0, 1, 6, 7, 8, 9 for standard retail products; 2 for variable-weight items (meat, produce); 3 for pharmaceuticals (NDC codes); 4 for in-store private labelling; 5 for coupons. Determines how the following digits are interpreted.

GS1 company prefix

A 6–10 digit prefix assigned to a brand owner by GS1 US when they join the GS1 registry. The prefix forms the first block of every UPC-A the company issues, guaranteeing global uniqueness. Length depends on the tier purchased — smaller companies get longer prefixes and correspondingly fewer product slots.

EAN-13

The 13-digit international extension of UPC-A, used for retail products outside the US and Canada. Any UPC-A can be represented as an EAN-13 by prepending a zero, and every modern POS scanner reads both formats interchangeably.

Related tools