๐Ÿ“„
QR Tools Live

EAN-13 Barcode Generator (Free, Check Digit Included)

Enter 12 digits and this tool calculates the 13th check digit for you, so the math is correct. That does not make the number yours — for a product actually sold at a retail register, the number must be assigned to you through GS1 (or your country's GS1 member organization outside the US), or the scan will fail or read as someone else's item.

How to use the EAN-13 barcode generator

  1. Enter your 12 digits: the product code portion of an EAN-13 number, either a real GS1-assigned prefix and item reference or a placeholder for testing.
  2. Let the check digit compute automatically: JsBarcode works out the 13th digit using the standard EAN-13 formula and appends it, no manual math needed.
  3. Check the preview: the full 13-digit barcode renders instantly below the input, ready to verify against your artwork or mockup.
  4. Download the image: save as PNG for quick use or SVG for packaging and print files that need to scale sharply.
  5. Swap in the real number later: once a GS1 registration comes through, replace the placeholder digits and regenerate before anything goes to print for sale.

What an EAN-13 barcode generator does

EAN-13 is the 13-digit barcode standard used on retail products across Europe, the UK, and most of the world outside North America. It's the international equivalent of the UPC-A code you see on US and Canadian shelves: same job, different numbering system, both run under GS1's global standard for identifying trade items. This EAN-13 barcode generator takes the 12 digits you enter, works out the 13th check digit, and draws a scannable barcode you can download as an image.

The check digit is calculated for you

You only type 12 digits. The 13th, the check digit, is computed automatically by JsBarcode using the standard EAN-13 formula: it weights alternating digits by 1 and 3, sums them, and finds what's needed to round the total up to the next multiple of 10. You don't calculate it, guess it, or need to know the math behind it. Enter your 12 digits and the barcode that renders already has a valid, correctly computed check digit appended at the end. That's the part people get wrong doing this by hand with a spreadsheet formula, and it's the part this tool removes entirely. If a scanner reads the code and the check digit doesn't match, it rejects the read: with this generator that failure mode simply doesn't happen.

A self-made number isn't a registered number

Here's the part that trips people up: generating a valid EAN-13 barcode is not the same as owning that number. A barcode this tool produces will scan fine and pass the check digit math, but nothing stops two different products from carrying the same self-assigned code. Real, sellable retail EAN-13 numbers are licensed through GS1 or your country's national GS1 member organization: GS1 UK, GS1 Germany, GS1 US, and so on. They assign your business a company prefix, you assign the product-level digits within it, and that full combination is registered to you alone in the global GS1 database. Retailers and marketplaces that check incoming codes against that database will reject a number that was never issued to you, which is why a homemade code can prototype a product but can't legally sell one.

EAN-13 and UPC-A

The two standards are more related than most people realize. A UPC-A code is effectively an EAN-13 code with a leading zero: any 12-digit UPC-A number can be written as a 13-digit EAN-13 number just by putting a 0 in front, and scanners built for EAN-13 read UPC-A codes without any special handling for that reason. The reverse isn't true, though: most EAN-13 codes don't start with 0, so they can't be shortened down to a valid UPC-A code. If a product needs to sell in the US and Canada as well as Europe, check whether the assigned prefix allows the UPC-A form, or ask the GS1 member organization directly rather than guessing.

Regionally, the split is fairly clean. North American grocery, retail, and big-box chains lean UPC-A by habit and by point-of-sale system defaults. European, UK, Australian, and most international retailers expect EAN-13, and it's the format printed on nearly everything on a supermarket shelf outside the US and Canada. Books are a special case worth knowing: an ISBN-13 is structurally an EAN-13 code starting with the 978 or 979 prefix, which is why book barcodes look the same as grocery barcodes.

When this tool is enough

No GS1 registration is required to use this generator, and plenty of legitimate uses don't need one. Internal warehouse tracking, prototyping packaging before a real number arrives, testing how a barcode looks and scans on a mockup, or just learning how the check digit works: all of that is fine with a self-made number, as long as the product never ships with it.

A small UK food producer waiting on a GS1 UK registration is a common case. Say the application is submitted but the prefix hasn't come through yet, and the packaging proof is due at the printer next week. They put a placeholder 12-digit number into this generator, let the check digit compute automatically, and get a real, scannable barcode onto the proof for layout and print testing, checking that it scans cleanly and sits correctly against the artwork. Once GS1 UK issues the actual company prefix, they swap in the real digits and reprint with the number properly registered to their business. The mockup barcode never goes on a product that actually ships to a shelf.

Related tools

Need other barcode formats, not just EAN-13? Use the multi-format barcode generator. Selling into the US or Canada specifically? The UPC-A barcode generator handles that numbering system directly.

Frequently Asked Questions

Does this tool add the check digit automatically?

Yes. You enter 12 digits and JsBarcode computes the 13th, the check digit, using the standard EAN-13 formula and appends it for you. There's no manual calculation involved.

Can I use a barcode from this generator to sell products in stores?

Only if the 12 digits you entered come from a company prefix actually assigned to you by GS1 or your country's GS1 member organization. A self-made number will scan but isn't registered, and retailers checking against GS1's database will reject it.

What's the difference between EAN-13 and UPC-A?

UPC-A is a 12-digit code used mainly in the US and Canada. EAN-13 is its 13-digit international counterpart, used across Europe, the UK, and most other regions. A UPC-A code is effectively an EAN-13 code with a leading zero.

Do I need to register with GS1 to use this generator?

No. The generator works with any 12 digits you type in, which makes it useful for internal tracking, prototyping, and learning. Registration through GS1 is only required when the barcode needs to go on a product sold at retail.

Can every UPC-A code be written as an EAN-13 code?

Yes, by adding a leading zero. The reverse doesn't work the same way: most EAN-13 codes don't start with zero, so they can't be shortened into a valid UPC-A code.

What if I enter fewer or more than 12 digits?

The tool needs exactly 12 digits to compute a valid 13th check digit. Entering the wrong count will produce an error or an invalid code, so double-check the number before generating.

Is my barcode data stored anywhere?

No. The barcode is generated in your browser using the digits you enter. Nothing is uploaded to or stored on a server.