Make a 12-digit UPC-A barcode for North American retail
Runs in your browser. Nothing you type is sent anywhere. Updated on 25 Oct 2026.UPC-A is the twelve-digit barcode used by shops in the United States and Canada. Enter eleven digits and the twelfth is calculated. Underneath, a UPC-A is simply an EAN-13 with a leading zero, and every modern scanner treats them as the same number, which is why a product sold in both markets needs only one code.
Open the page with UPC-A already selected as the Barcode type.
Type 11 digits and the twelfth, the check digit, is calculated; or paste all 12 to check them.
Keep Text under the bars on so the number prints beneath the code.
Set Bar height, then press PNG or SVG to download.
This barcode generator makes the six one-dimensional symbologies people actually need: EAN-13, EAN-8, UPC-A, Code 128, Code 39 and ITF-14. Type the data, get the barcode, and download it as SVG for print or PNG for a document. Bar width, height, margin and the human-readable text underneath are all adjustable.
Check digits are handled properly. For EAN-13, EAN-8, UPC-A and ITF-14 you can enter the data without the final digit and it is calculated, or with it and it is verified; if it is wrong you are told the digit it should be, rather than being handed a barcode that scans as the wrong product. Code 39 can add its modulo 43 check character. Code 128 always carries a check character inside the bars, which is why it is never printed.
Not included, and why: QR, Data Matrix, Aztec and PDF417 are two-dimensional codes with error correction, a different job entirely, and for QR the QR Code Generator on this site already does it. GS1-128, Code 93, Codabar, MSI Plessey and UPC-E are each left out for a stated reason on the page. Everything runs in your browser; nothing you type is uploaded.
The rest of the article, and all 6 questions about Barcode Generator, are on the Barcode Generator page.
Pick the symbology and type the data without the final digit: 12 digits for EAN-13, 11 for UPC-A, 7 for EAN-8, 13 for ITF-14. The check digit is calculated and shown. If you paste the complete number instead, it is verified, and a wrong check digit is named rather than silently accepted.
For a retail product sold outside North America use EAN-13, inside it use UPC-A. For a shipping carton use ITF-14. For anything internal, such as an asset tag, a bin or an order number, use Code 128: it holds letters as well as digits and is the most compact of the six.
No, and it does not pretend to. QR is a two-dimensional code with Reed-Solomon error correction, which is a different job from drawing bars. The QR Code Generator on this site makes QR codes for links, WiFi, contacts and UPI payments.
For a product sold in shops, yes. Retailers scan the number against the GS1 registry, so a made-up EAN-13 or UPC-A will either fail or point at somebody else's product. For internal use, such as your own stock or assets, any Code 128 or Code 39 value works and costs nothing.
Still stuck? Ask about Barcode Generator and anybody who knows can answer. No account needed.
Same job, other tools: GUID Generator – Generate GUIDs for .NET, SQL Server and Windows, in brace format · ULID Generator – Sortable 26-character ULIDs, monotonic within a millisecond, with a time decoder · SHA-256 Generator – SHA-256 hash of any text or file, in hex or Base64 · Cron Expression Generator – Generate a cron expression by choosing when the job should run.
On the related tools: Sitemap Index Generator – Split a large site into numbered sitemaps with an index file.
In the collection Barcode and QR Code Tools.