Barcode Generator
Generate scannable UPC-A and EAN-13 barcodes from a code, or a printable sheet from a list, right in your browser.
Your details
Barcode markup
<svg xmlns="http://www.w3.org/2000/svg" width="226" height="88" viewBox="0 0 226 88"><rect width="226" height="88" fill="#fff"/><g fill="#000"><rect x="18" y="0" width="2" height="70"/><rect x="22" y="0" width="2" height="70"/><rect x="30" y="0" width="2" height="70"/><rect x="32" y="0" width="2" height="70"/><rect x="36" y="0" width="2" height="70"/><rect x="40" y="0" width="2" height="70"/><rect x="42" y="0" width="2" height="70"/><rect x="44" y="0" width="2" height="70"/><rect x="46" y="0" width="2" height="70"/><rect x="50" y="0" width="2" height="70"/><rect x="54" y="0" width="2" height="70"/><rect x="58" y="0" width="2" height="70"/><rect x="60" y="0" width="2" height="70"/><rect x="62" y="0" width="2" height="70"/><rect x="64" y="0" width="2" height="70"/><rect x="72" y="0" width="2" height="70"/><rect x="74" y="0" width="2" height="70"/><rect x="78" y="0" width="2" height="70"/><rect x="86" y="0" width="2" height="70"/><rect x="88" y="0" width="2" height="70"/><rect x="92" y="0" width="2" height="70"/><rect x="100" y="0" width="2" height="70"/><rect x="102" y="0" width="2" height="70"/><rect x="106" y="0" width="2" height="70"/><rect x="110" y="0" width="2" height="70"/><rect x="114" y="0" width="2" height="70"/><rect x="118" y="0" width="2" height="70"/><rect x="120" y="0" width="2" height="70"/><rect x="124" y="0" width="2" height="70"/><rect x="126" y="0" width="2" height="70"/><rect x="132" y="0" width="2" height="70"/><rect x="134" y="0" width="2" height="70"/><rect x="136" y="0" width="2" height="70"/><rect x="140" y="0" width="2" height="70"/><rect x="146" y="0" width="2" height="70"/><rect x="148" y="0" width="2" height="70"/><rect x="154" y="0" width="2" height="70"/><rect x="156" y="0" width="2" height="70"/><rect x="160" y="0" width="2" height="70"/><rect x="164" y="0" width="2" height="70"/><rect x="166" y="0" width="2" height="70"/><rect x="168" y="0" width="2" height="70"/><rect x="174" y="0" width="2" height="70"/><rect x="180" y="0" width="2" height="70"/><rect x="182" y="0" width="2" height="70"/><rect x="184" y="0" width="2" height="70"/><rect x="188" y="0" width="2" height="70"/><rect x="190" y="0" width="2" height="70"/><rect x="194" y="0" width="2" height="70"/><rect x="196" y="0" width="2" height="70"/><rect x="202" y="0" width="2" height="70"/><rect x="206" y="0" width="2" height="70"/></g><text x="113" y="84" text-anchor="middle" font-family="monospace" font-size="12" letter-spacing="2">036000291452</text></svg>Code: 036000291452. Paste this SVG into your product template, or download it and use it as an image.
Live preview
UPC-A and EAN-13, and the check digit
UPC-A (12 digits, mostly used in the US and Canada) and EAN-13 (13 digits, used almost everywhere else) both end with a check digit: a number worked out from the digits before it, so a scanner can tell if a code was mistyped or misread.
Example: the default code
- You enter
- 03600029145 (11 digits)
- Weighted sum
- 5×3 + 4×1 + 1×3 + 9×1 + 2×3 + 0×1 + 0×3 + 0×1 + 6×3 + 3×1 + 0×3 = 58
10 − (58 mod 10) = 2, so the full code is 036000291452. This tool works out and appends that digit automatically if you leave it off.
The generator draws real bars from GS1's published encoding tables, not a placeholder image, so a phone scanner reads the code shown.
Using barcodes on Shopify and WooCommerce
- 01
Get a real prefix
A UPC-A or EAN-13 you'll actually sell under needs a GS1 company prefix, which GS1 licenses. Codes you make up yourself can clash with someone else's product.
- 02
Shopify
Paste the 12 or 13-digit number into the product's Barcode (ISBN, UPC, GTIN, etc.) field. Shopify uses it for the product page, POS and marketplace listings.
- 03
WooCommerce
Core WooCommerce has no barcode field. Add one with a plugin, or store it in a custom field and print it with the label generator you already use.
- 04
Printing
Use Print sheet mode for a batch, then print at 100% scale (no “fit to page”), since shrinking a barcode can make it unreadable.
What this tool doesn't do
- It covers UPC-A and EAN-13 only, the two symbologies used for most retail products. Code 128 and other formats aren't included.
- It doesn't check whether a code is already registered to another product. It only checks the math.
- The print sheet caps at 200 codes per run. Split a bigger batch into more than one sheet.
Questions people ask
What's the difference between UPC-A and EAN-13?
UPC-A is 12 digits and mostly used in the US and Canada. EAN-13 is 13 digits and used almost everywhere else, including by Amazon and most European retailers. A UPC-A code is really an EAN-13 with a leading 0.
Can I make up my own barcode number?
You can generate one here for testing or internal use, but a barcode you sell products under should come from a GS1 company prefix, so it doesn't clash with another company's code.
Why did the check digit change from what I typed?
If your last digit didn't match the one GS1's formula produces, the tool corrects it so the barcode actually scans. Double-check the source you copied the code from.
Does this work for ISBNs?
ISBN-13s use the same EAN-13 format (starting 978 or 979), so yes: enter the 13-digit ISBN in EAN-13 mode.
Related tools
Last reviewed 30 September 2026.
Sources: GS1: Barcodes standards · GS1: Check digit calculator
