Barcode Generator

Generate scannable UPC-A and EAN-13 barcodes from a code, or a printable sheet from a list, right in your browser.

Describe the result you need. AI will set up the tool and ask for any missing details.

Configure with AI

Enter to submit · Shift + Enter for a new line

Sent to AI. Leave out passwords and private customer data.

Your details

Type
Code

11 or 12 digits for UPC-A, 12 or 13 for EAN-13. Leave off the check digit and it's added for you.

Look
px
px

Barcode markup

barcode-036000291452.svg
<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.

Check digit = 10 − ((sum of digits, weighted 3 and 1 alternately from the right) mod 10), or 0 if that's 10

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Want this builtinto your store?

I'm Emmanuel, a Shopify and WooCommerce developer. If this tool pointed at something you'd rather have fixed for you (a faster store, cleaner product data, a migration, a custom feature), send me a note.

Emmanuel Asika

Emmanuel Asika

Shopify & WooCommerce developer, Dublin

I build and fix online stores: new builds, migrations, speed, SEO and the custom bits apps can't do.

hello@emmanuelasika.com

Last reviewed 30 September 2026.

Sources: GS1: Barcodes standards · GS1: Check digit calculator