Choose the right format for your application using the reference table below.
| Format | Character Set | Typical Use | Digits / Length |
|---|---|---|---|
| Code 128 | Full ASCII (0–127) | Logistics, shipping, serial numbers | Variable |
| Code 39 | A–Z, 0–9, symbols | Automotive, defence, inventory | Variable |
| Code 93 | Full ASCII (compact) | Inventory, complement to Code 39 | Variable |
| Code 11 | 0–9, dash | Telecommunications equipment | Variable |
| Codabar | 0–9, A–D, symbols | Libraries, blood banks, FedEx air bills | Variable |
| MSI / Plessey | 0–9 | Retail shelving, warehouse bins | Variable |
| ITF-14 | 0–9 | Outer packaging, shipping cartons | 14 digits |
| Pharmacode | Numeric | Pharmaceutical packaging | 1–6 digits |
| EAN-13 | 0–9 | Global retail POS, ISBN, ISSN | 13 digits |
| EAN-8 | 0–9 | Small packages, vending machines | 8 digits |
| EAN-2 / EAN-5 | 0–9 | Supplement (price, issue number) | 2 or 5 digits |
| UPC-A | 0–9 | North American retail POS | 12 digits |
| UPC-E | 0–9 | Small packages (compressed UPC) | 8 digits |
| GS1-128 | ASCII + AIs | Healthcare, trade units, traceability | Variable |
| GS1 DataBar | 0–9 | Fresh foods POS, coupons | 14+ digits |
This free online barcode generator creates print-ready linear barcodes in 15+ symbologies — Code 128, GS1-128, EAN-13, EAN-8, UPC-A, UPC-E, ITF-14, Code 39, Code 93, Codabar, MSI and Pharmacode — with a live preview, adjustable size and colors, and instant PNG or SVG download. Everything runs 100% in your browser: no signup, no watermark, and your data never leaves your device. Need a 2D code instead? Try the free QR code generator.
Creating a barcode with this free tool takes just a few seconds:
Select the barcode symbology from the left panel. If you are unsure which to use, Code 128 is the safest general-purpose choice. For retail products use EAN-13 (international) or UPC-A (North America).
Type or paste the barcode content into the Barcode Data field. The barcode updates live as you type. Each format has specific data requirements — the tool will show an error if the input is invalid.
Adjust bar width, height, margin, colors, and text position using the sliders. Changes are reflected in the preview instantly.
Click Download PNG for a raster image or Download SVG for a vector file ideal for print. Both are free with no watermarks.
Yes, completely free. No account required, no watermarks, no limits on the number of barcodes you can generate. Everything runs in your browser. It is one of the free browser-based tools at jasperbernaers.com.
For international retail (Europe, Asia, rest of world) use EAN-13 (13 digits). For North American retail use UPC-A (12 digits). Small packages that can't fit a full-size symbol can use EAN-8 or UPC-E.
Code 128 encodes the full 128-character ASCII set at high density. It is the most versatile linear barcode and is ideal for shipping labels, serial numbers, inventory tracking, and anywhere you need variable-length alphanumeric data.
Yes. The SVG download is a vector file that can be scaled to any size without loss of quality — perfect for print-ready label files, packaging artwork, or large-format printing. The PNG download is rasterized at screen resolution.
EAN-13 has 13 digits and is the international standard used in most countries. UPC-A has 12 digits and is the standard in North America. UPC-A barcodes are technically a subset of EAN-13 (with a leading zero). Most modern scanners read both interchangeably.
Your data never leaves your browser. The barcode is generated entirely client-side using the open-source JsBarcode library. No data is transmitted to any server.
ITF-14 (Interleaved 2-of-5, 14 digits) is used on outer packaging and shipping cartons to encode GTIN-14 product identifiers. It is designed to be readable even on lower-quality corrugated cardboard surfaces.
Pharmacode (Pharmaceutical Binary Code) is a barcode used exclusively in the pharmaceutical industry. It encodes a number from 3 to 131070 and is used on drug packaging to verify products on high-speed packaging lines.
A linear (1D) barcode like Code 128 or EAN-13 stores a short string read in one direction — ideal for retail checkout and logistics. A QR code is a 2D matrix that stores far more data (URLs, Wi-Fi credentials, contact cards) and is read by smartphone cameras. Need a QR code instead? Use the free QR code generator on this site.
Only for products sold through retail channels. Retailers require a GS1-issued company prefix so your EAN/UPC numbers are globally unique — you cannot invent retail numbers. For internal use (inventory, assets, tickets, membership cards, shipping references) you can generate any barcode freely with this tool at no cost.
The most common causes: too little quiet zone (empty margin) around the bars, printing too small or with low contrast, stretching the image (which distorts bar widths), an invalid check digit, or a scanner that doesn't support the symbology. Download the SVG, print at 100% scale in pure black on white, and leave a margin of at least 10× the narrowest bar width.
For retail EAN/UPC the nominal size is 37.29 × 25.93 mm, and GS1 allows 80–200% scaling. Never scale below 80% or truncate the height more than necessary — both reduce scan reliability. For Code 128 shipping labels, keep the narrowest bar at least 0.25 mm (10 mil) and the height at least 13 mm.
Camera-based (2D imager) scanners read barcodes from screens without problems — that's how digital boarding passes and loyalty cards work. Older laser scanners often fail on screens because of reflection and backlight. Increase brightness and barcode size if a screen scan fails.
Code 128 in almost all new projects: it is denser, encodes full ASCII and includes a mandatory check character. Code 39 survives in legacy automotive, defence (LOGMARS) and older inventory systems; choose it only when an existing system requires it.
An ISBN barcode is simply an EAN-13: select EAN-13 and enter your 13-digit ISBN (it already starts with 978 or 979) without hyphens. Optionally add an EAN-5 supplement for the price. Download the SVG for your cover designer.
Yes — the page accepts URL parameters, so you can script or bookmark barcodes: append ?data=YOURDATA&format=EAN13 (or CODE128, UPC, ITF14, …) to the page URL. Generate each barcode from a spreadsheet formula that builds the URL, open it, and download the file.