Free barcode generator

Make Code 128, EAN-13, UPC-A, EAN-8, Code 39 and ITF-14 barcodes with the check digit worked out for you, then download PNG or SVG, one at a time or in bulk.

  • 100% free
  • Runs in your browser
  • No uploads
Barcode type

Letters, digits and symbols. Shipping labels, inventory, asset tags.

How many
Bar width (narrowest bar)

Preview

Your barcode will appear here.

Scan a test print before you print a full run.

How to make a barcode

  1. Pick the barcode type. Use the type your shop, warehouse or software asks for. The line under the buttons says what each one holds.
  2. Type the value. For EAN, UPC and ITF-14 you can leave off the last digit: the check digit is calculated and added. Spaces and dashes copied from packaging are ignored.
  3. Set the size. Bar width is the width of the narrowest bar in pixels; everything else scales from it. Leave the margin empty to keep the standard clear space.
  4. Download and test. Save a PNG for screens or an SVG for print, then scan a test print with a phone or the scanner you'll use.

Barcode types compared

TypeHoldsUsed for
Code 128Any ASCII text, up to 80 characters hereShipping labels, stock and asset tags
EAN-1312 digits + check digitRetail products worldwide, books (ISBN)
UPC-A11 digits + check digitRetail products in the US and Canada
EAN-87 digits + check digitSmall packs with no room for EAN-13
Code 39A–Z, 0–9, space and - . $ / + %Older industrial, ID and library systems
ITF-1413 digits + check digitOuter cartons and cases

Code 128 switches automatically to a compact mode for runs of digits, two digits per symbol, so long numbers make a narrower barcode than in Code 39. To share a web link, a QR code works better: phones read it with the camera app. Use the QR code generator for that.

How the check digit is worked out

EAN, UPC and ITF-14 use the same GS1 rule. Starting from the rightmost digit, multiply the digits alternately by 3 and 1, add the results, and take the number that brings the total up to the next multiple of 10.

For 400638133393: the products from the right are 9, 9, 9, 3, 9, 1, 24, 3, 18, 0, 0 and 4, which add up to 89. The next multiple of 10 is 90, so the check digit is 1 and the full EAN-13 is 4006381333931. Code 39 has an optional check character (mod 43) instead, and Code 128 always includes a mod 103 checksum inside the bars, which scanners verify without showing it.

Printing barcodes that scan

  • Size. The standard EAN-13 bar unit is 0.33 mm. At 300 dpi that's 4 pixels, so choose a 4 px bar width and print at 300 dpi for a full-size retail barcode. Shrinking below about 80% of that makes it hard to scan.
  • Margin. Keep a clear space on both sides: 10 bar units for Code 128, Code 39 and ITF-14, 11 on the left and 7 on the right for EAN-13, 9 for UPC-A. The default margin does this.
  • Colour. Black or dark blue bars on white. Checkout scanners use red light, so red, orange and yellow bars disappear for them.

Frequently asked questions

Can I put these barcodes on products I sell in shops?

The image is yours to use, but for retail the number matters more than the picture. Shops and marketplaces expect EAN and UPC numbers that belong to your company, which you license from GS1, the organisation that runs the system. For your own stock or asset labels, any value in Code 128 or Code 39 is fine.

Which barcode type should I choose?

Use the type the system reading it asks for. Retail products use EAN-13 (or UPC-A in the US and Canada), cartons of products use ITF-14, and warehouse, shipping and asset labels mostly use Code 128 because it holds letters and is compact.

It says my check digit is wrong. What does that mean?

The last digit of an EAN, UPC or ITF-14 number is calculated from the others, so a typo is caught before it reaches a till. If the tool says the last digit should be something else, one of the digits was mistyped. Enter the number without its last digit and the correct check digit is added for you.

PNG or SVG: which should I download for printing labels?

SVG for printing. It's a vector file, so the bars stay perfectly sharp at any size in Word, Illustrator, Canva or label software. PNG is a fixed grid of pixels: fine for screens and for printing at its natural size, but scaling it up blurs the bar edges, which can stop scanners reading it.

How do I make many barcodes at once?

Choose Bulk, then paste a column of values from a spreadsheet, one per line. Lines with problems are listed with the reason and left out; the rest download as one ZIP of PNG or SVG files, each named after its value. Up to 1,000 lines at a time.

Why won't my barcode scan?

The usual causes are a margin that's too narrow, colours with too little contrast, red or yellow bars (red-light scanners can't see them), or a PNG stretched so the bars blur. Print dark bars on white, keep the standard margin clear on both sides, and test-scan a print before a full run.