UPC barcode generator

Type the first 11 digits of your UPC and get a scannable UPC-A barcode, with the 12th (check) digit calculated for you. Switch to UPC-E for small packages. Download a PNG or a print-ready SVG. Free, no sign-up, made in your browser.

Style

Where does a UPC number come from?

A UPC-A barcode encodes a 12-digit GTIN: a company prefix licensed by GS1 US, your product number, and a check digit. This page draws the barcode for any number, but retailers (and Amazon, unless you have a brand exemption) check that the prefix is licensed to you, so use your own GS1 number for products you sell. If you type all 12 digits, the last one must be the correct check digit, or the page tells you which one it should be. UPC-E is a zero-suppressed short form for small packages; only some UPC-A numbers (those with enough zeros) can be shortened, so type the 7-digit UPC-E form (starting with 0 or 1).

Tips for a barcode that scans

Quiet zone: keep the blank margin left and right of the bars (this page adds it); a label edge or text too close is the most common reason a barcode fails. Contrast: dark bars on a light background; red bars are invisible to most laser scanners, which use red light. Size: don't squash the width to fit a label: scale the whole image instead. EAN-13 and UPC-A are designed for about 37 × 26 mm at 100%, and printing below 80% needs a good printer. Print: use the SVG, which stays sharp at any size; a stretched PNG blurs the bar edges.

How it works

Barcodes are drawn in your browser by the open-source bwip-js library (MIT), a port of Barcode Writer in Pure PostScript, which validates input and computes check digits the way the standards define them. Nothing you type is sent to a server. Where your browser supports it, the page also scans its own output with the built-in barcode reader to confirm it decodes to exactly what you typed.

See also: free barcode generator, ean-13 barcode generator, code 128 barcode generator, isbn barcode generator, data matrix generator, QR code generator.

Barcodes on generated labels, invoices and PDFs

Need a barcode on every shipping label, ticket or invoice your app produces? Draw it in your HTML (an inline SVG from a barcode library, or an <img>) and render the page with the Shotmint API, which prints it in real Chromium so the bars come out exactly as in the browser:

curl -X POST https://shotmint.creasework.com/v1/pdf -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"html":"<h1>Order #42</h1><img src=\"https://your-site.com/barcode/42.svg\" width=\"300\">","format":"A6"}' -o label.pdf

Each PDF or screenshot is 1 credit. €5 buys 2,000 with no subscription, and credits never expire. Related free tools: invoice generator, HTML to PDF, HTML to image.

Get 25 free renders a month API docs

FAQ

Can I use these barcodes on products I sell? The image is yours to use anywhere, with no attribution. But for shop shelves the number matters: EAN and UPC numbers must come from GS1, or retailers will reject them. Code 128 and the others are fine for any internal numbering.

Why does it say the check digit is wrong? EAN, UPC, ITF-14 and ISBN numbers end with a digit computed from the others. Type the number without it and it's added for you; type it in full and it's verified, so a typo can't turn into a barcode that scans as the wrong product.

Is there a limit? No limits, no watermark and no account. Make as many as you need.

Which file should I download? SVG for print and packaging (vector, sharp at any size), PNG for Word, Google Docs and label software, JPG only if a tool accepts nothing else.

Related: QR code generator, invoice generator, receipt generator, SVG to PNG, image to Base64.

Related tools

Barcode generator · EAN-13 barcode generator · Code 128 barcode generator · ISBN barcode generator · all free tools