Barcode Generator (EAN-13, UPC-A, Code 128, ITF-14 and more)
Make nine kinds of barcode and download them as PNG or vector SVG
Your data stays with you. Conversion happens inside the browser; nothing is sent to a server.
Did this tool do the job?
Thanks, your feedback came through.
How it works
Pick the barcode type, type the number into the left pane, and the bars are drawn as you type. For EAN-13 you can enter just 12 digits: the tool works out the 13th, the check digit, appends it and tells you in the result line which digit it added — type 501234567890 and you get 5012345678900. Enter all 13 and the check digit is verified instead; if it does not match, no barcode is produced and the correct number is spelled out for you, because a silently corrected barcode is more dangerous than no barcode at all. EAN-8 works the same way with 7 or 8 digits, UPC-A with 11 or 12, and ITF-14 with 13 or 14. For a code with letters in it pick Code 128: shelf and stock codes such as SHELF-A12 or STORE-0047 belong to that type, and when you enter a 20-digit shipment number the tool moves to subset C by itself, encoding digits in pairs so the barcode comes out about half as wide. Choose the file format to suit the job: PNG for a screen or a Word document, SVG for a label print — SVG is a drawing, so however far you scale it the bar edges stay crisp. Set the bar height for the scanner you will use; 120 pixels is enough for a desk scanner, and a case label read from a distance wants more. Leave the digits under the bars switched on: that is where the person keying the number in will look. The white space at each end (the quiet zone) is part of the barcode and comes inside the file; never let a line or a word spill into it. Everything happens in your browser and the number you type is never sent to a server.
This tool is also known as barcode generator, ean 13 barcode generator, create barcode free, code 128 barcode generator, product barcode maker, shelf label barcode.
What is EAN-13?
EAN-13 is the 13-digit barcode printed on the products you buy in a shop. The first two or three digits identify the GS1 member organisation that issued the number — 50 for the UK, 000-019 and 030-139 for the United States and Canada — the middle block identifies the company and the item, and the final digit is the check digit. The symbol is exactly 95 modules wide and is split into two halves by a thin centre guard, and that symmetrical layout is why a scanner reads it upside down just as happily.
What is Code 128?
Code 128 carries letters and punctuation as well as digits; it is the standard for internal use, from courier labels to warehouse shelves. Its length is not fixed — the barcode grows with your code. The symbology has three subsets and this tool uses two of them, switching between them by itself: subset B encodes the space, digits, unaccented Latin letters and basic punctuation, while subset C packs digits two at a time, which is why long shipment numbers print about half as wide. Accented letters and emoji belong to no subset and are refused.
What is Check digit?
The check digit is the last digit of the number and it is calculated from the ones before it: reading from the right, the digits are multiplied alternately by 3 and 1, added up, and the amount needed to reach the next multiple of ten becomes the check digit. Its job is to catch a misread. If a single digit is picked up wrongly the arithmetic no longer works out, the scanner rejects the scan, and the wrong item never reaches the till. This tool calculates it when it is missing and verifies it when you supply it.
What is Quiet zone?
The quiet zone is the empty light margin either side of the bars, and it is part of the symbol rather than a design flourish. The scanner uses that uninterrupted blank strip to work out where the code begins and ends, so a border, a block of background colour or a caption that creeps into it will stop the code being read. EAN-13 calls for 11 modules on the left and 7 on the right. This tool puts the margin inside the PNG, so the rule looks after itself as long as you do not crop the file.
What is ITF-14?
ITF-14 is the barcode of the case, not of the single item: the EAN-13 number of the product inside is prefixed with a packaging indicator to make 14 digits, and that goes on the case label. The ITF in the name comes from Interleaved 2 of 5, which encodes digits in pairs — that is why the digit count is always even and why the same information fits into a narrower symbol. Because it is scanned from a distance and off corrugated board, it is printed large and with a thick surrounding frame.
What is SVG?
SVG stores a picture as drawing instructions rather than as dots: inside the file it says "a black rectangle from here to here". However far you scale it, the bar edges stay crisp, because the file is redrawn at every size — and since a barcode is read by its edges, that is the right choice for label printing. Label software, Illustrator and Inkscape open SVG directly; for Word and e-mail, PNG gives you fewer surprises.
What is the difference between a barcode and a QR code?
A barcode is one-dimensional: the information lives entirely in the horizontal widths of the bars, and the height carries nothing at all — a tall symbol simply makes it easier for the scanner's beam to catch it. What it carries is short, too: thirteen digits in EAN-13, one line of text in Code 128. The product name, the price and the stock level are not inside the barcode; they sit in a database that the number is looked up in. A QR code is two-dimensional, holds data in both directions, and carries a full web address or several lines of text within itself, with enough redundancy to survive being partly obscured. A barcode is an identity number; a QR code is the content. Use a barcode for the shelf and the till, a QR code to send someone to a page.
Which type should you pick?
The answer follows from who will read it. Till systems and product databases expect EAN, so if the code has to pass a scanner and be recognised as a product, EAN-13 is the right symbology. If the pack is too small for it — a sachet, a small carton — EAN-8 does the same job in 8 digits.
If you are building your own scheme, for racking, cartons or asset tags, use Code 128 instead. It takes letters, so the code stays readable to humans (STORE-A12, RACK-0047), its length is not fixed, and nobody has to issue you a number. Most warehouse and courier software works in Code 128 anyway.
The barcode printed on a case is not the barcode of the item inside it: pick ITF-14 for the case, and derive its number from the product's EAN-13. If you are torn between Code 128 and Code 39 for your own scheme, take Code 128 — it prints the same information noticeably narrower; choose Code 39 only when an old scanner or system on the other side asks for it.
- Product sold in a shop → EAN-13 (the number comes from GS1)
- Very small pack → EAN-8; narrow pack for the US market → UPC-E
- Product sold in the US or Canada → UPC-A
- Outer case, pallet, shipment → ITF-14
- Warehouse shelf, asset tag, your own code → Code 128 (narrowest result for long numbers)
- Older handheld scanner, library or blood-bank system → Code 39 or Codabar
- Sending someone to a web page → not a barcode, use the QR Code Generator
Making it scan off the printer
The commonest mistake is stretching the symbol to fit a layout. Squeezing a barcode horizontally destroys the ratio between the bar widths and the code stops scanning; keep the aspect ratio locked when you scale it. Changing the height on its own is fine, because none of the information is stored there.
The second mistake is eating into the quiet zone: a frame, a colour block, or the neighbouring label on a sheet of labels will do it. Then there is contrast — dark bars on a light field, and never black bars on a red background, because a red-light scanner sees red as white. Test the printed sheet with the scanner that will actually be used before you run off a thousand of them.
Making up your own numbers: where it is fine and where it is not
This tool turns the number you type into a valid bar pattern; it cannot know whether the number is yours. For internal use that does not matter. In a warehouse, a workshop, a library or an asset register you choose the numbers yourself, and the only rule is that they do not repeat within your own system. Code 128 is both more flexible and more readable for that kind of work.
Selling the product in a shop is a different matter: an EAN-13 number is a registered number, issued by GS1 (GS1 UK, GS1 US and so on) and recorded against your company. A number you invented may scan perfectly and still belong to somebody else's product, or to no record at all, which is why most retail chains will not accept an unregistered barcode.
PNG or SVG — which should you download?
Both give you the same barcode; the difference is how the file stores it. PNG is made of dots like a photo: it looks right on screen, in a Word document and in e-mail, but blown up far beyond its size in print the bar edges go stepped and the scanner hesitates. SVG is made of drawing instructions; you can hand it to your label software and scale it to any size with crisp edges.
Rule of thumb: download PNG when the barcode goes into a document or onto a screen, SVG when it goes to a label or packaging print. In the SVG the bars are vector; the digits under them are drawn with your machine's monospaced font, so a printer with a different font may render the digits differently — the bars, and therefore readability, are unaffected.
Frequently asked questions
Can I print an EAN-13 number I made up on a product I am selling?
No. This tool produces the bar pattern for a number; it does not allocate the number to you. An EAN-13 for a product sold in shops is issued by GS1 and registered to your company, and an unregistered number may already belong to someone else's item. For warehouse racking, asset tags, workshop use and anything else that stays inside your own operation you are free to choose the numbers yourself.
I do not know the check digit — what should I do?
Leave it off. Enter 12 digits for EAN-13 or 7 for EAN-8 and the tool calculates the final digit, adds it, and says in the result line which digit it added. If you do enter the full number, the check digit is verified instead: when it does not match, no barcode is produced and you are told what the correct number is.
Can I put accented letters in a Code 128 barcode?
No. Code 128 is produced here with subset B, which covers spaces, digits, unaccented Latin letters and basic punctuation. Anything outside that range is refused with a message naming the character that caused it. Sticking to plain ASCII is a sound habit regardless: many older handheld terminals cannot display accented characters on screen either.
Will my phone camera read the barcode?
Usually, though the built-in camera app on most phones only recognises QR codes and you will need a scanner app for barcodes. The reliable way to test before printing is to try the code on whatever device will actually read it in practice — the handheld terminal or the till scanner.
How big should the barcode be printed?
The nominal size of EAN-13 is about 37.3 by 26.3 mm, and the standard allows magnification from 80% to 200% of that; going below 80% pushes the misread rate up quickly. The output is a PNG, so scale it proportionally in your layout and never squeeze it horizontally. On a small pack, moving to EAN-8 is a better answer than shrinking EAN-13.
Why is my 20-digit shipment number so wide?
It is not: with Code 128 the tool encodes long runs of digits in subset C, two at a time, so a 20-digit number prints about half as wide. If it still does not fit the label, lowering the bar height will not help — the width is set by the digit count; you need a shorter number or a bigger label. For case labels, ITF-14 also gives a narrow result.
The barcode breaks up when I enlarge it in my label software. What should I do?
Choose SVG as the file format and download that. SVG is a drawing: when you scale it, the bars are redrawn and the edges stay crisp, while PNG is made of dots and goes stepped when pushed too far. Almost every label and design program opens SVG directly. Whichever format you pick, never squeeze the barcode horizontally: once the aspect ratio is broken the code stops scanning.