A free online barcode generator turns a number or text string into a scannable barcode image — no software install, no cost — and for most everyday needs (labels, inventory, cartons, book covers) a free tool produces exactly the same barcode a paid one would. That is because barcodes are open standards: a Code 128 or EAN-13 generated by a free web tool is bit-for-bit the same symbology as one from enterprise labeling software. What you are choosing between is convenience, output formats, and bulk features.
This guide covers the best free generators, then walks through the specific formats people actually search for — VIN, ISBN, ISSN, ITF-14, Data Matrix, GS1 DataBar, and Amazon FNSKU — plus how to generate barcodes directly in Excel and Google Sheets.
What to Look For in a Free Online Barcode Generator
- Symbology coverage. A good tool supports the 1D workhorses (Code 39, Code 128, EAN-13, UPC-A, ITF-14) and the 2D formats (QR, Data Matrix, PDF417).
- Vector output. PNG is fine for screens; for print you want SVG, EPS, or PDF so the barcode stays crisp at any size. Blurry, upscaled barcodes are the #1 cause of scan failures.
- No watermarks. Some "free" tools stamp their logo on output — useless for real labels.
- Bulk generation. If you need hundreds of codes from a spreadsheet, use a batch tool — see our bulk barcode generator guide.
Solid free options include TEC-IT's free online generator (huge symbology list, vector output) and the Cognex free barcode generator; our barcode generator online guide compares the field in detail.
One honest caveat before the formats: a generator only draws the barcode. If your product needs a *globally unique* retail number (UPC/EAN for stores, GTINs for Amazon), the number itself must come from GS1 — no generator, free or paid, can license numbers for you.
VIN Barcode Generator
Vehicle Identification Numbers are 17-character alphanumeric codes (letters I, O, and Q are never used, to avoid confusion with 1 and 0). VIN barcodes appear on the door-jamb and windshield labels of every modern vehicle and throughout automotive workflows: dealer inventory, service-lane check-in, parts tracking, auctions, and insurance inspections.
Two symbologies are used:
- Code 39 — the traditional automotive standard, required by older specs and still what most factory VIN labels use. It encodes uppercase letters and digits natively, which matches VIN's character set exactly.
- Code 128 — denser (a shorter barcode for the same 17 characters), increasingly common on dealer and aftermarket labels where space is tight. See our Code 128 barcode generator guide for the format's details.
To generate one: pick Code 39 or Code 128 in any free generator, enter the 17-character VIN (uppercase, no spaces), and export as vector for label printing. Two practical rules: never add check-digit options the spec doesn't call for (the VIN's own check digit is character 9, already inside the number), and always test-scan with the actual scanner hardware your workflow uses — service-lane scanners are usually configured for both symbologies, but older ones may read Code 39 only.
ISBN Barcode Generator
Book barcodes are EAN-13 symbols in the "Bookland" range: every ISBN-13 already starts with 978 or 979, so the ISBN *is* the EAN-13 number. To generate a book cover barcode:
- Take your ISBN-13 (e.g., 978-3-16-148410-0) and strip the hyphens.
- Enter it into any EAN-13 generator — the check digit is the final digit of the ISBN itself.
- Optionally add the EAN-5 price add-on that appears to the right of the main symbol on retail books: in the US the convention is a 5-digit code where the first digit is the currency (5 = USD) and the rest is the price, e.g., 52499 for $24.99. "90000" means no price specified.
If you only have an old ISBN-10, convert it first (prefix 978, drop the old check digit, recalculate — most generators and the official ISBN agencies offer converters). ISBNs themselves come from your country's ISBN agency (Bowker in the US, Nielsen in the UK); the barcode is free to generate once you have the number. Print at 100% size or larger with the standard quiet zones, in black on white — retail scanners are unforgiving about low-contrast artistic covers.
Data Matrix Barcode Generator
Data Matrix is the compact 2D format you see laser-etched on circuit boards, surgical instruments, and pharmaceutical packaging. It encodes up to ~2,335 alphanumeric characters, survives 30%+ damage thanks to built-in error correction, and scans reliably at sizes down to a few millimeters — which is why regulated industries standardized on it (GS1 Data Matrix carries the serialized data on drug packs and medical-device UDI labels).
Free online generators handle plain Data Matrix well: choose the symbology, paste your data, export vector. GS1 Data Matrix — with its FNC1 character and application identifiers like (01) GTIN and (17) expiry — needs a generator that explicitly supports GS1 encoding; get the FNC1 wrong and validation scanners will reject the label. We cover the format, sizes, and GS1 structure in our Data Matrix barcode generator guide.
How to Generate Barcodes in Excel
Excel can produce scannable barcodes without any paid add-in using the font method:
- Install a free barcode font — the open-source Libre Barcode family (Code 39, Code 128, EAN-13 variants) is free for commercial use and installs like any font.
- For Code 39, wrap your value in asterisks, which the font uses as start/stop characters. Put your data in column A and in column B use: `="*"&A1&"*"` — then format column B in the *Libre Barcode 39* font at 24–48 pt. Done: each cell renders as a scannable barcode.
- For Code 128 the font method needs an encoder, because Code 128 requires computed start/stop/checksum characters — simply changing the font will render bars, but they will not scan. Use *Libre Barcode 128* together with a free VBA encoder function (widely available as `Code128()` UDFs) that transforms the raw text first: `=Code128(A1)` formatted in the barcode font.
- Alternative: skip fonts and pull images from a barcode web API using the `IMAGE()` function in Excel 365, e.g. `=IMAGE("https://barcodeapi.org/api/128/"&A1)` — each cell fetches a generated barcode image for its value.
The font method is perfect for internal labels, asset tags, and pick lists. For retail-grade EAN/UPC output, generate vector files from a dedicated tool instead — font rendering at the wrong point size can push bar widths out of spec.
How to Generate Barcodes in Google Sheets
Google Sheets works almost identically and is arguably easier:
- The Libre Barcode fonts are built into Google Fonts: in Sheets, open the font menu → "More fonts" → search "Libre Barcode" and add Code 39 or Code 128.
- For Code 39: `="*"&A1&"*"` in a helper column, formatted in Libre Barcode 39.
- For Code 128, use the `IMAGE()` formula with a generator API instead of the font (same encoder problem as Excel): `=IMAGE("https://barcodeapi.org/api/128/"&ENCODEURL(A1))` renders a scannable barcode image in the cell.
- QR codes work the same way with any QR image API endpoint.
Because Sheets recalculates images live, this doubles as a lightweight bulk generator: paste 500 SKUs in column A and you have 500 barcodes to print. For thousands of codes or precise label layouts, a dedicated bulk barcode generator is the better tool.