Skip to content

Barcode Generator

Generates EAN-13, UPC, Code128, Code39 and ITF barcodes with check digits and print-ready output.

Draws EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39 and ITF-14 as SVG, calculates the check digit rather than assuming it, and gives the physical width at 300 dpi beside the preview. Retail barcodes have a genuinely physical failure mode, and both of those numbers are where it lives.

🔒 Runs entirely in your browserbarcodegeneratoreanretail

Symbology

Retail products worldwide

12 digits and the check digit is calculated, or 13 with it and it is verified.

EAN-1395 modules wideCheck digit 1

Encoded value

4006381333931

Narrowest bar at 300 dpi

19.1 mm wide

At the standard 100% magnification. Print it smaller and the narrow bars fall below what a scanner resolves.

The first digit is not drawn as bars at all. It is encoded in the parity of the six digits after it, which is why an EAN-13 is the same width as a UPC-A.

4 006381 333931

SVG, so it stays sharp at whatever size the label is printed. A barcode is the one thing worth never rasterising: a resampled narrow bar is a misread.

Check digit calculator

The GS1 modulo-10 formula, shared by EAN-8, EAN-13, UPC-A and ITF-14.

The symbologies, the check digits and the SVG are all produced in this page. Product codes and shipping numbers are commercially sensitive, and none of these leave your browser.

How to use it

  1. Pick the symbology first

    EAN-13 for retail products, Code 128 for anything internal, ITF-14 for shipping cartons. Each has its own rule about how many digits it takes, stated under the field.

  2. Let it work out the check digit

    Give 12 digits to EAN-13 and the thirteenth is calculated; give 13 and it is verified. A wrong check digit is the difference between a working product code and a label the till rejects.

  3. Read the width before printing

    The figure is the physical width at 300 dpi and standard 100% magnification. Scale it down in a layout tool and the narrow bars drop below what a scanner resolves, whatever it looks like on screen.

Common questions

Can I make up my own product barcode?

For internal use, yes — Code 128 exists for exactly that. For a product sold in shops, no: an EAN or UPC number is allocated to you by GS1, and an invented one collides with a real product somewhere.

Why SVG and not PNG?

Because a barcode is the one thing worth never rasterising. A resampled narrow bar is a misread, and SVG keeps every bar exact at whatever size the label ends up.

My scanner reads nothing

In order: the quiet zone either side was cropped, it was printed too small, or it was scaled non-uniformly. Ink spread on a low-quality printer is the fourth — printing slightly larger fixes more of these than any software setting.

Is the check digit calculator the same formula?

Yes — GS1 modulo-10, shared by EAN-8, EAN-13, UPC-A and ITF-14. It reads your input both ways: as a body needing a digit appended, and as a complete code whose last digit it verifies.

Feed it from

Next

These accept what this tool produces, so the result can go straight in.