Skip to content
cliplimeClipLime

Make a barcode

Six formats, check digits worked out for you, and PNG or SVG downloads. What you type never leaves this tab.

What you type stays in your browser

What should the barcode say?

Letters, digits, spaces and the usual punctuation. Digits are packed in pairs, so a long number makes a shorter barcode.

Your barcode

Type a number or some text and your barcode appears here, ready to download.

Style

Pixels for the thinnest bar. It sets how big the picture is.

3 px
100 px

In bar widths, on each side. Code 128 needs at least 10. The border is where a scanner finds the start of the code.

11 bars

The number or text a person can read.

20 px

Contrast 21:1Good

Black on white is the safest. Many shop scanners use red light and cannot see red or orange bars.

For PNG and SVG. The bars are then read against whatever is behind them.

At a glance

Formats
Code 128, Code 39, EAN-13, UPC-A, EAN-8 and ITF-14.
Check digits
Worked out and added for you on EAN, UPC and ITF-14. A number you type in full is checked, and a wrong last digit comes with the right one. Code 39 can take an optional mod 43 character, and Code 128 has its own built in.
Downloads
PNG and SVG. The SVG is a vector file that stays sharp at any print size.
Style
Bar width from 1 to 10 pixels, bar height, blank border, text under the bars, colours and a transparent background.
Checks
Warns when the blank border is too small for the format, when the colours are too close or swapped, and when bars are only 1 pixel wide.
Print size
Type the bar width in millimetres to see the printed size. Shop barcodes use 0.33 mm bars, and GS1 allows 80% to 200% of that.
Privacy and price
Made in your browser, so the numbers you type are never uploaded or saved. Free, with no sign-up and no watermark.

How to do it

  1. 1

    Pick the format

    Choose Code 128 or Code 39 for your own labels, EAN-13 or UPC-A for shop products, EAN-8 for very small packs and ITF-14 for outer cartons.

  2. 2

    Type the number or text

    Spaces and hyphens in a pasted number are ignored. For EAN, UPC and ITF-14 you can leave off the last digit and the tool adds it. Example fills in a valid sample.

  3. 3

    Style it

    Keep dark bars on a light background and leave the blank border. Notes appear if something could stop a scanner reading it.

  4. 4

    Download and test it

    Save the PNG for screens or the SVG for print. Print one and try it with the scanner that will really read it before you print many.

Which barcode format to use

A barcode is a number or a short piece of text written in bars. The formats differ in what they can hold and who expects to see them:

  • Code 128 holds letters, digits, spaces and punctuation, and packs digits densely. It is the usual choice for your own labels: order numbers, asset tags, serial numbers and shipping labels.
  • Code 39 holds capital letters, digits and a few symbols. It is older and wider than Code 128, but it is still read by many badge, parts and inventory systems, and it needs no check digit.
  • EAN-13 is the 13 digit number on products sold in shops in most of the world.
  • UPC-A is the 12 digit number used in the United States and Canada. Scanners read it as an EAN-13 with a 0 in front.
  • EAN-8 is an 8 digit number for packages too small for an EAN-13.
  • ITF-14 is a 14 digit number on the outer carton that holds several products. Its frame, the bearer bars, protects the edge bars when it is printed straight onto corrugated board.

If you only need to put your own ID on a label, use Code 128. The product formats only make sense when the number comes from GS1, the organisation that issues them.

Check digits: what they are and how the sum works

Most product barcodes end with one extra digit that is worked out from the digits before it. The scanner repeats the sum and throws the read away if the last digit does not match, so a misread digit does not turn into a wrong product.

For EAN-13, UPC-A, EAN-8 and ITF-14 the rule is the same. Start from the right and give the digits the weights 3, 1, 3, 1 and so on. Add up the results. The check digit is what brings that total up to the next multiple of 10.

For the EAN-13 number 590123412345 the digits from the right are 5, 4, 3, 2, 1, 4, 3, 2, 1, 0, 9, 5. Weighted, that is 15 + 4 + 9 + 2 + 3 + 4 + 9 + 2 + 3 + 0 + 27 + 5 = 83. The next multiple of 10 is 90, so the check digit is 7 and the full number is 5901234123457. Open Show the sum under the number to see this worked out for whatever you type.

This check catches any single wrong digit and nearly every pair of swapped neighbours. It misses a swap of two digits that are exactly 5 apart, such as 0 and 5.

Code 128 has a check character of its own, worked out from the symbols and added inside the bars, so you never type it. Code 39 has an optional one: add up the value of each character (0 to 9, then A to Z as 10 to 35, then - . space $ / + %) and divide by 43. The remainder picks the check character. This tool leaves it off unless you switch it on, because many scanners hand it to your software as an ordinary character.

Printing a barcode that scans

A scanner finds the start and end of a barcode by the blank space next to it. Each format asks for a minimum, counted in widths of the thinnest bar: 10 for Code 128, Code 39 and ITF-14, 11 on the left and 7 on the right for EAN-13, 9 for UPC-A and 7 for EAN-8. The tool warns when your blank border is below what the format needs.

Use dark bars on a light background. Many shop scanners use red light, so red or orange bars can look like blank paper to them. Light bars on a dark background are not readable by most scanners.

Print from the SVG where you can, and never stretch the picture in only one direction, because that changes the bar widths. For shop products GS1 gives 0.33 mm as the standard width of the thinnest bar and allows 80% to 200% of that, so 0.264 mm to 0.66 mm. Under Print size you can type a bar width and see how large the whole picture prints.

Some older laser scanners struggle to read a barcode that is shown on a phone or monitor screen. Camera based scanners handle screens well. If your barcode will be scanned from a screen, test it with the real scanner.

Numbers for products sold in shops

This tool draws the barcode for the number you give it. It does not register the number, and the picture is only a way of writing it down. For a product sold through shops or online marketplaces the number has to belong to you, and in practice that means a company prefix licensed from GS1. A made-up number can be the same as a real number someone else owns.

The first digits of an EAN-13 identify the GS1 office that issued the company prefix, not the country where the product was made. Numbers starting with 978 or 979 are ISBNs for books, 977 is used for magazines, and numbers starting with 2 are meant for use inside a single store or company. Numbers for your own internal use, such as stock in a warehouse, are fine to make yourself, and Code 128 is a better format for them.

Questions people ask

Can I sell products with a barcode from this tool?

The barcode is drawn correctly, but the number has to be one that belongs to you. Shops and marketplaces expect numbers licensed from GS1, which you can get as a company prefix or from a reseller. This tool does not issue or register numbers, so a number you invent may already belong to someone else.

Do I have to type the check digit?

No. For EAN-13, UPC-A, EAN-8 and ITF-14, type the number without its last digit and the tool adds it. If you type the full number, the tool checks the last digit and, if it is wrong, tells you what it should be and offers to fix it. Code 128 adds its own check character automatically.

Why won't my barcode scan?

The usual causes are a blank border that is too small, bars printed too thin or blurred by shrinking a PNG, low contrast or coloured bars, a barcode stretched in one direction, glare on glossy paper, or a scanner that has the format switched off. Download the SVG for print, keep black on white, and test with the scanner you will really use.

Can a barcode hold lowercase letters, accents or other languages?

Code 128 holds all plain ASCII: lowercase and capital letters, digits, spaces and standard punctuation. It cannot hold accented letters, other alphabets or emoji. Code 39 holds capital letters only. For other text, a QR code holds any characters.

Which format holds the most?

Code 128 is the most compact of the formats here for text, and it packs digits in pairs, so a long number makes a much shorter barcode than it would in Code 39. The EAN, UPC and ITF-14 formats hold a fixed number of digits, and nothing more.

How big should I print it?

That depends on the scanner and the distance. For shop products use bars about 0.33 mm wide. The 95 bars of an EAN-13 or UPC-A then measure about 31 mm, or about 37 mm with the smallest blank border the standard allows. The picture from this tool has a slightly roomier border, and the Print size panel shows its exact size. Smaller than 80% of the standard size is outside what GS1 allows. For your own labels, print a test and scan it from the distance your staff will use.

Guides that help

All QR codes guides →