Free Tool
Free Barcode Generator
Make an EAN-13, EAN-8, UPC-A, ITF-14, Code 128, or Code 39 barcode in the browser. Retail check digits are calculated and checked. Download PNG or SVG.
Check digit 5 matches.
Use dark bars on a light background. A scanner reads the bars, not the colors.
00012345678905
ITF-14 · 2px modules · quiet zone included
How to make a barcode in 3 steps
- Choose the format. Use EAN-13 or EAN-8 for a retail item, UPC-A for a 12-digit North American retail number, ITF-14 for a 14-digit case, Code 128 for a mixed SKU, or Code 39 when the scanner expects uppercase letters and digits.
- Enter the value. EAN-13, EAN-8, UPC-A, and ITF-14 use the GS1 modulo-10 check digit. It is added or checked before the bars are drawn. Code 128 keeps the text you type. Code 39 can add an optional mod 43 check character.
- Download and proof. Download PNG or SVG. Scan a printed sample with the scanner that will read it. A 2px module is a screen preview; 3px or 4px is a better start for a label. Put a Scanely QR beside the bars when the package should also open a page.
Which format to choose
| Format | Use it when |
|---|---|
| EAN-13 | A 13-digit retail number (GTIN-13), including an ISBN-13. |
| EAN-8 | An 8-digit retail number (GTIN-8) for a small package. |
| UPC-A | A 12-digit retail number for packaging sold in the United States or Canada. |
| ITF-14 | A 14-digit case or carton code (GTIN-14), with a bearer bar around the symbol. |
| Code 128 | A SKU, bin, serial, or other short identifier that includes letters. |
| Code 39 | Uppercase letters, digits, and - . $ / + % or space. Add mod 43 only when the spec asks for it. |
| Scanely QR | A phone should open a page. Put it beside the barcode on the package when you need a link you can change after printing, plus scan counts. |
Pick the symbol your scanner already reads
These formats are not interchangeable. A retail checkout expects a GTIN in the right length. A carton label often expects ITF-14. A warehouse scanner often expects Code 128, or Code 39 when the spec is older and uppercase. Choose the format the receiving system was built for, then test a print with that scanner.
- EAN-13 barcode generator for a 13-digit retail number. Enter 12 digits and the check digit is added, or enter all 13 to verify it.
- EAN-8 for an 8-digit retail number. Enter 7 digits and the GS1 check digit is added, or enter all 8 to verify it.
- UPC-A barcode generator for a 12-digit retail number used on North American packaging.
- ITF-14 for a 14-digit case code. Enter 13 digits and the GS1 check digit is added. The symbol includes a bearer bar.
- Code 128 barcode generator for letters and numbers: SKUs, bins, serials, and other short labels.
- Code 39 for uppercase letters and digits. The mod 43 check character is optional and off until you turn it on.
What this page does
The bars are drawn on this page. You can change the module width, the colors, and whether the digits print under the bars. PNG is a flat image. SVG stays sharp when a designer places it in a larger layout. Leave a blank margin around the bars; that quiet zone is included in the file.
The sample values are examples so the page is not empty. Replace them with a number or identifier you are allowed to print. Drawing a barcode does not assign that number to you.
When a QR code is the better fit
Use a barcode when a system already looks up an EAN, UPC, or Code 128 value. Use a QR code when a phone should open a link. On a package, print both: the barcode for the checkout or the warehouse, and a Scanely QR beside it for a page you can change after the carton is printed. A dynamic QR code keeps that print while the destination changes, and Scanely counts the scans. The inventory label guide separates identifying an item from updating its quantity.
Free includes 3 dynamic codes. Compare plans on pricing. A dynamic QR code keeps the printed image while the link changes. The QR generator makes a static link code.