Barcode Generator for Excel — What Works in 2025
Excel has no built-in barcode feature — but there are three workable routes, and one of them takes under a minute. This guide covers all three honestly, including the traps that make the popular 'barcode font' approach fail at the scanner.
In a hurry? Download the CSV template below, fill in your values, and drop it into the bulk barcode generator — you'll get a ZIP of print-ready barcode images you can place in Excel, Word or any label template.
Method 1: CSV → bulk generator (fastest, most reliable)
Export or copy your column of values (SKUs, product codes, IDs), feed it to the bulk barcode generator, and receive a ZIP of correctly rendered PNG or SVG barcodes — with check digits calculated and every symbol validated. Insert into Excel via Insert → Pictures, or reference the files in a mail merge. Because the images are real barcodes rendered by a standards-compliant engine, they scan. This is the method we recommend for anything that will actually be scanned.
Method 2: the free Code 39 font (quick but fragile)
The classic approach: install a free '3 of 9' barcode font, wrap your cell value in asterisks (="*"&A1&"*"), and format the cell in that font. It works — the asterisks are Code 39's mandatory start/stop characters — and for internal asset tags it can be enough.
The traps: Code 39 encodes only uppercase A–Z, 0–9 and seven symbols; the 'barcode' is just text, so row heights and column widths must leave quiet zones; print scaling distorts bar widths; and there's no check digit, so typos scan wrong silently. Most importantly, it only does Code 39 — no UPC, no EAN, no QR, no GS1.
Method 3: Excel add-ins
Commercial add-ins (TBarCode, ActiveBarcode and friends) embed barcode objects directly in sheets and handle check digits and more symbologies. They're the right answer for heavy, daily in-Excel production — but they cost money, require installation on every machine that opens the file, and break when files are shared to Google Sheets or Macs without the add-in. For one-off label runs, the CSV→ZIP route is simpler and free.
Google Sheets notes
The font method works in Google Sheets too (upload the font via any Google Fonts workaround or use an image formula), but the same Code 39 limits apply. A cleaner Sheets trick is generating barcode image URLs — which is exactly what a barcode API automates; BarcodeOwl's API (in development) will make =IMAGE() barcodes a one-line formula.
Frequently asked questions
Can Excel generate barcodes natively?
No. Excel has no built-in barcode generator. Your options are a barcode font (Code 39 only, fragile), a commercial add-in, or generating barcode images externally and inserting them — the CSV→ZIP method on this page.
What's the best free barcode font for Excel?
Any 'Code 3 of 9' / 'Code 39' font. Wrap values in asterisks (="*"&A1&"*") and remember the limits: uppercase letters, digits and a few symbols only, no check digit, no other symbologies.
How do I make UPC barcodes in Excel?
You can't with a font — UPC needs precise bar/space ratios, guard bars and check digits. Paste your UPC numbers into the bulk barcode generator (leave off the check digit; it's calculated for you) and insert the resulting images into your sheet.
Why won't my Excel barcode font scan?
Almost always one of: missing asterisks around the value, lowercase letters (Code 39 is uppercase-only), quiet zones squeezed by adjacent content, or print scaling distorting bar widths. Print at 100%, leave whitespace, and test.
Does this work in Google Sheets?
The CSV→bulk-generator method works with anything, including Sheets. Font-based barcodes are harder in Sheets (no native custom fonts) — use the image route instead.
Related tools
- Bulk barcode generator →CSV → ZIP of barcodes
- SKU generator →
- Code 39 generator →the Excel font symbology
- Code 128 generator →
- All barcode generators →