Free Barcode Generator: Create Scannable EAN, UPC and Code 128 Barcodes Online
Type a value, pick a symbology, and the bars appear. That is the whole idea behind the free barcode generator on this site: ten one-dimensional formats drawn live as you type, with controls for bar width, bar height, quiet zone and the digits printed underneath, plus a one-click PNG for the clipboard or your downloads folder.
Most people who need a barcode are not barcode engineers. They run a small shop, ship from a spare room, print asset tags for a workshop, or label shelves in a stockroom. What they need is a symbol that scans on the first pass and enough of an explanation to understand why the obvious choices (tiny code, no white margin, glossy label stock) fail at exactly the wrong moment. This guide walks the generator's controls, the sizing figures behind them, and the mistakes that show up again and again in real print runs.
What a Free Barcode Generator Actually Produces
Here is the distinction that trips people up first. A barcode is two things stacked together:
- The image: bars and spaces a scanner can decode.
- The number inside it: for retail products, a GTIN licensed from GS1.
You can generate the image for nothing, in any symbology, as often as you want. The number is the part with rules attached. Any page promising a "free UPC" for a product headed to store shelves is skipping a step nobody can legally skip: the retailer scans a GTIN that has to resolve back to your company in the GS1 registry. Amazon's new-listing flow and most supermarket chains validate that link before a product gets shelf space, so a self-made 12-digit number can scan fine at the register and still be rejected in the supplier portal.
For everything else (internal inventory, cartons, asset tags, library cards, pick labels, pharmaceutical packaging lines) there is no registry and no fee. That is where a free online generator earns its place.
Ten Formats and Where Each One Belongs
The generator covers CODE128, CODE39, CODE93, EAN-13, EAN-8, UPC-A, ITF-14, MSI, Pharmacode and Codabar.
| Symbology | Encodes | Typical use | Sizing notes |
|---|---|---|---|
| CODE128 | Full ASCII, variable length | Shipping labels, cartons, internal inventory | Dense and self-checking; the safe default when nothing else is specified |
| CODE39 | Digits, uppercase letters, a few symbols | Legacy industrial and government systems | Roughly 30-50% wider than CODE128 for the same payload |
| CODE93 | Full ASCII, variable length | Compact industrial labels | Denser than CODE39, less common than CODE128 |
| EAN-13 | 13 digits (12 plus check) | Retail products outside North America, books with the 978/979 prefix | X-dimension 0.264 mm at 100% magnification |
| EAN-8 | 8 digits | Small packs (gum, pens, single items) | Same rules as EAN-13 in a tighter footprint |
| UPC-A | 12 digits (11 plus check) | Retail products in the US and Canada | An EAN-13 with a leading zero |
| ITF-14 | 14 digits | Outer shipping cartons, master cases, pallets | Wide bars; usually printed inside a bearer bar frame |
| MSI | Digits | Shelf labels, warehouse racks, numeric tags | Usually paired with a mod 10 or mod 11 check digit |
| Pharmacode | Number from 3 to 131,070 | Pharmaceutical packaging lines | One- or two-track, built for high-tolerance high-speed printing |
| Codabar | Digits plus A-D start/stop characters | Libraries, blood banks, some logistics | Legacy and low density, still required by niche systems |
If you already know the situation, the choice is usually immediate:
- Consumer product sold in a store: EAN-13 internationally, UPC-A in the US and Canada.
- Book or ISBN: EAN-13 with the 978/979 prefix.
- Carton, case or pallet: ITF-14.
- Carrier label, asset tag, work order: CODE128.
- A downstream system that refuses anything modern: CODE39 or Codabar.
- A pharma packaging machine: Pharmacode, because the machine reads nothing else.
Working the Controls
- Type selects one of the ten symbologies. Change it and the canvas redraws; a value outside the format's character set shows an error rather than a symbol that quietly encodes the wrong thing.
- Data holds the value to encode. Four sample buttons drop in realistic content (a 12-digit UPC, a 13-digit EAN, an alphanumeric CODE128 string and a short numeric tag) so you can see a finished symbol before typing your own.
- Bar width runs from 1 to 5 px in 0.5 px steps. This is the X-dimension, the narrowest bar or space in the symbol, and every other element is an integer multiple of it.
- Height runs from 50 to 200 px. Taller bars hand the scanner a larger target, which counts for a lot when a cashier sweeps a product across a checkout laser at an angle.
- Font size sets the human-readable digits (10 to 30 px) printed below the bars.
- Margin runs from 0 to 30 px and controls the quiet zone, the blank strip on each side that tells the scanner where the code begins and ends.
- Filename names the exported file; Copy puts the PNG on the clipboard and Download PNG saves it.
Every field regenerates the barcode as you go, so there is no generate button to press and no queue to wait in.
Sizing Rules That Decide Whether It Scans
The GS1 figures for retail symbologies at 100% magnification:
- X-dimension: 0.264 mm (0.0104 in) for UPC-A and EAN-13 at point of sale, 0.33 mm for general distribution symbols.
- Bar height: 25.9 mm (1.02 in) nominal for UPC-A and EAN-13, with the start, middle and end guard bars extending about 5X further down.
- Quiet zone: at least 10X on each side, which for a standard UPC-A works out to roughly 2.64 mm per side. Wikipedia's UPC entry puts the minimum at 9X for the scannable area; GS1's printed specification asks for 10X, and the wider figure is the safer target.
- Magnification: 80% to 200% of nominal size, which for UPC-A and EAN-13 maps to a little under 30 mm up to about 75 mm wide.
Printing changes the arithmetic more than the geometry does:
- 300 DPI is the floor for labels at normal size. Go to 600 DPI for anything under 100% magnification.
- At 80% magnification the X-dimension is 0.264 mm, about 3 pixels at 300 DPI. Dot gain, the ink spreading on absorbent stock, can shift a 3-pixel bar by one pixel, and that single pixel is a 33% width error on the narrowest element in the symbol.
- A thermal direct printer on cheap labels needs a wider X-dimension than a laser printer on coated stock.
- Proof it on paper and test-scan with the actual scanner before a production run. Field guides from packaging and inventory vendors repeat this advice because skipping it is the cheapest mistake to make and the most expensive to discover.
Check Digits: the Last Character Isn't Yours
Fixed-length retail formats end in a check digit that is calculated, not chosen. For UPC-A and EAN-13 the scheme is a weighted mod-10 sum: multiply alternating digits by 3 and by 1, add them up, and take the difference to the next multiple of ten.
UPC-A 03600029145 gives 0+6+0+2+1+5 = 14 and 3+0+0+9+4 = 16. Weighted total: 3 x 14 + 16 = 58, and the next multiple of ten is 60, so the check digit is 2. The full number to encode is 036000291452.
EAN-13 590123412345 gives 5+0+2+4+2+4 = 17 and 9+1+3+1+3+5 = 22. Weighted total: 17 + 3 x 22 = 83, so the check digit is 7 and the symbol carries 5901234123457.
Other symbologies handle this differently. CODE128 includes a mod-103 check character in the symbol itself. CODE39 can carry an optional mod-43 digit, and many legacy systems expect it. MSI uses mod 10 or mod 11 depending on the printer configuration, which is why the same MSI label can read cleanly on one scanner and be rejected by another.
One practical note: the readable digits under the bars are drawn from the same value the encoder used, so they cannot drift apart. The classic mismatch, where someone retypes the number in the label artwork and leaves the bars untouched, needs a different workflow to happen.
Common Mistakes That Kill a Scan
- Wrong symbology for the scanner. Retail POS systems are configured for EAN-13 and UPC-A. A CODE128 barcode on a consumer product will not ring up, no matter how clean it looks. Match the format to the reader, not to the aesthetics.
- Quiet zone cropped or crowded. This is the most common field failure. If the label cannot fit the symbol plus a 10X margin on each side, switch to a smaller symbology such as UPC-E or EAN-8 instead of shaving the margin.
- Printed too small. Under 80% magnification, or an X-dimension squeezed by auto-scaling during printing, the narrowest bar moves below what the scanner can resolve.
- Too little contrast, too much shine. Bars need to be dark and the spaces light. Glossy laminates reflect the beam, and pale ink on white sits too close to the scanner's threshold.
- Human-readable text that does not match the data. The number under the bars is what staff type into the inventory system, so a mismatch turns into stock discrepancies that compound every time the item moves.
- A label that wears out. Thermal prints fade in sunlight and handling. A barcode that scanned at packing time can be unreadable by the time it reaches a warehouse two months later.
Colors and the Quiet Zone Trap
Scanners read contrast, not color, so the reliable scheme is dark bars on a light background. Grey-on-white looks tidy on a proof and fails in the aisle. When a design puts art or a border next to the symbol, the quiet zone is what gets eaten, and pre-press is where it usually happens: the margin exists in the file, then the layout crops it to fit a label size. Check the final PDF, not the working file.
Free Images, Licensed Numbers
What is free here is the image and everything around it: ten symbologies, live rendering, the clipboard copy, the PNG download, no account and no watermark. The value you type is drawn to a canvas inside your own browser, so a code containing a supplier name or a serial number is not posted anywhere.
What is not free is a retail GTIN. GS1 issues company prefixes and GTINs under an annual licence, and the number is the piece a retailer actually validates. For internal labels, cartons, asset tags and test packaging, no licence is involved.
Bulk Barcodes and Sequence Labels
The generator draws one symbol at a time. There is no CSV import and no sequence template, so a run of labels means changing the value, copying the PNG, and moving to the next one. Two habits make that faster: keep the bar width, height and margin fixed so every label in the run shares the same X-dimension, and use a filename scheme such as sku-0001, sku-0002 so the downloads stay in order. For a catalogue of hundreds or thousands of SKUs, dedicated batch tools that import a spreadsheet and print a grid (the ones that offer placeholders like {SEQ}, a start value, a step and zero-padding) are a better fit. The generator's sample buttons are the quick way to check that a format and size will work before you commit a whole run to it.
FAQ
Can I use a free barcode generator for products I sell?
You can generate the image free, but a product sold through a retailer needs a GTIN issued by GS1. The symbology is the easy part: EAN-13 for international retail, UPC-A for the US and Canada, with the licensed number encoded inside it.
Which barcode format should I choose?
If you are unsure, CODE128 is the safe default for internal work, since almost every scanner built in the last three decades reads it. For retail products, use EAN-13 or UPC-A, because store checkout systems are configured for those and nothing else.
How many digits does each format hold?
UPC-A holds 12 digits, UPC-E holds 6, EAN-13 holds 13, EAN-8 holds 8 and ITF-14 holds 14. CODE128, CODE39 and CODE93 are variable length and can carry as much text as a scanner can practically handle.
Why won't my printed barcode scan?
The usual causes are a symbol printed too small, a missing quiet zone, low contrast, a glossy or curved surface, or a symbology that does not match the scanner's configuration. Increase the X-dimension, print on matte stock, leave a 10X margin on both sides, and test-scan on paper before a full run.
Can I put a logo or color inside a 1D barcode?
Do not put anything inside the symbol area. Keep the bars dark, the spaces light and the margins empty. Color works only if enough contrast remains, and grey or pastel bars are a common way to build a symbol that looks fine and reads badly.
What is the difference between UPC and EAN?
UPC-A is a 12-digit code used mainly in the US and Canada. EAN-13 is its 13-digit international superset, and any UPC-A can be written as an EAN-13 by adding a leading zero. Both are GS1 standards and both identify a retail product at the point of sale.
What barcode do I need for shipping boxes?
ITF-14 is the standard for outer cartons and cases, printed larger than a retail symbol and often framed with bearer bars for reliable scanning on corrugated board. For carrier labels on individual parcels, CODE128 is the more common choice.
Can I generate a batch of barcodes for a whole catalogue?
Not in one pass here. This generator renders a single symbol from a single value, which keeps it fast for spot checks, reprints and one-off labels. Catalogue-scale runs belong in batch software that imports a spreadsheet and lays out a print grid.
Dallas, TX · SO reputation 19969 · Badges: 9🥇70🥈111🥉 · SO member since 2009