Barcode Fonts: Code 39 and Code 128 in Word and Excel

Barcode fonts let you print scannable Code 39 and Code 128 barcodes from Word and Excel. Learn how they work, where to get one free, and why scans fail.

A barcode font looks like a shortcut: install it, type your product code, and watch it turn into bars. For Code 39 that shortcut mostly works. For Code 128 and almost every other symbology, there is a missing step that catches people off guard, and it is the reason so many font-made barcodes come out of the printer looking right but refusing to scan.

Try it yourself: Print a barcode made with a font below, then scan it instantly with our free online barcode scanner to confirm it actually decodes.

What Font Is Used for Barcodes?

There is no single "barcode font" the way there is a single font like Arial or Times New Roman. Each barcode symbology, such as Code 39, Code 128, or Codabar, needs its own purpose-built font where every letter, number, and symbol glyph is replaced by that symbology's specific pattern of bar and space widths. A font made for Code 39 cannot render a scannable Code 128 barcode, and vice versa, because the underlying bar-width rules are different for each standard.

This is also why you cannot just apply a barcode-looking font to arbitrary text and expect a scanner to read it correctly. A scanner's decoder is matching an exact structure defined by the symbology's specification, not just interpreting stripes that look plausible to the human eye. Two popular free choices illustrate the two ends of the complexity spectrum: "Free 3 of 9," a long-standing free Code 39 font, and Google's own Libre Barcode font family, which includes both Code 39 and Code 128 styles you can install directly from Google Fonts. For a deeper look at how these two formats differ beyond the font question, see our Code 128 vs Code 39 comparison.

Is There a Barcode Font in Word?

Microsoft Word does not include a barcode font out of the box, and neither does Excel. If you want font-rendered barcodes in either program, you need to download and install a third-party font yourself, the same way you would install any other custom font on Windows or Mac.

Word does offer one built-in alternative that skips fonts entirely: the DisplayBarcode field code, documented on Microsoft's own support site for adding barcodes to labels. It generates a barcode as a small graphic directly inside a Word document for a limited set of formats, which can be handy for simple postal or label jobs. Excel has no equivalent built-in feature at all, so a font, an inserted image, or an add-in are your only real options there. Our how to create a barcode in Word and how to create a barcode in Excel guides walk through both the font and non-font routes in each program step by step.

Why Code 39 Is the Font-Friendly Format

Code 39 is the easiest barcode to produce with a font because what you type is essentially what gets encoded, with one small addition. Its native character set covers uppercase letters A through Z, the digits 0 through 9, and seven symbols: space, hyphen, period, dollar sign, forward slash, plus sign, and percent sign. A checksum character is technically part of the Code 39 specification but is optional in most real-world implementations, so most font users skip it entirely.

The one requirement you cannot skip is the start and stop character. Code 39 barcodes must begin and end with an asterisk, so a product code like SKU1234 has to be typed as *SKU1234* before the font is applied. Leave the asterisks off and the scanner has no way to know where the symbol starts or ends. This single formula, wrapping your data in asterisks, is the entire "encoding" step Code 39 requires, which is why it works so well for a quick spreadsheet formula like ="*"&A1&"*" in Excel.

Why Code 128 Fonts Need a Formula, Not Just Typing

Code 128 is denser and more flexible than Code 39, encoding the full ASCII character set through three internal subsets, but that flexibility comes at the cost of a mandatory checksum. Every valid Code 128 symbol needs a start code that tells the scanner which subset is in use, a check character computed from the data using a modulo-103 calculation, and a stop code, all of which have to be worked out before the font can render a scannable result.

You cannot type your raw data, apply a Code 128 font, and get a working barcode, because the font only draws whatever characters you feed it; it does not calculate a checksum for you. In practice this means pairing a Code 128 font with a formula, VBA macro, or add-in that takes your plain text, computes the required check character, and outputs a pre-encoded string, which the font then renders correctly. IDAutomation, one of the longer-running barcode font vendors, documents this exact workflow in its VBA macro tutorials for Excel, Word, and Access. If your use case doesn't strictly require Code 39 compatibility with older equipment, Code 128's extra density and full-ASCII support generally make it the better long-term choice; our Code 128 complete guide and Code 39 complete guide cover the full tradeoffs.

Can I Download a Free Barcode Font for Excel?

Yes, several free barcode fonts are available and install the same way any other font does. For Code 39, "Free 3 of 9" has circulated online for years with no licensing restrictions, and Google Fonts offers "Libre Barcode 39" and "Libre Barcode 39 Text" as free, open-source downloads. For Code 128, Google Fonts also publishes "Libre Barcode 128 Text," and commercial vendors like IDAutomation offer free versions of their fonts for personal, educational, or small-business use under their published license terms.

To install on Windows, download the font file, right-click it, and choose Install or Install for All Users. On Mac, double-click the downloaded font file and click Install Font in the Font Book preview that opens. Restart Excel or Word afterward so the new font appears in the font list. Once installed, Code 39 fonts can go straight to work with a simple asterisk formula, while Code 128 fonts need the checksum step described above before the barcode will decode correctly.

Why Does My Barcode Font Not Scan?

A barcode that looks fine on screen or on a printed page can still fail at the scanner for reasons that have nothing to do with whether the font itself is correct. The most frequent culprits are:

  • Missing quiet zone. Barcodes need a blank margin of empty space on both sides with no text, lines, or graphics crowding the bars, or the scanner cannot locate where the symbol begins.
  • Font size too small. Barcode font vendors publish minimum point sizes tuned to common printer resolutions; going smaller than recommended, often below 20 to 28 point for office printers, produces bars too thin to resolve.
  • Missing start/stop characters or checksum. Forgetting the asterisks on Code 39, or skipping the checksum calculation on Code 128, is the single most common reason a font-made barcode fails outright.
  • Word's autocorrect or font substitution. Word can silently convert straight asterisks into smart-punctuation characters, or swap out the barcode font during a mail merge, both of which quietly corrupt the output. Wrapping a merge field in Word's \* charformat switch, or using plain typed characters instead of autocorrected ones, avoids this.
  • Low print quality or wrong scaling. Printing at Draft quality, or letting your printer driver "fit to page" and rescale the barcode, distorts the bar widths enough to break a scan.

Before printing a full batch of labels, always print a handful of test barcodes and scan them with a phone scanner or our web-based barcode scanner to confirm the decoded text matches your source data exactly. Our barcode quality verification guide and barcode scanner troubleshooting guide cover additional checks if a test scan still comes back wrong.

Sources

Frequently Asked Questions

What font is used for barcodes?
There is no single universal barcode font. Each barcode symbology, such as Code 39 or Code 128, needs its own dedicated font designed to render that symbology's bar pattern. Popular free options include 'Free 3 of 9' and Google's Libre Barcode fonts for Code 39, and various Code 128 fonts from vendors like IDAutomation, which usually require a formula or macro to compute the checksum before the font can display a scannable symbol.
Is there a barcode font in Word?
No, Microsoft Word does not ship with a built-in barcode font. You have to download and install a third-party font yourself. Word does include a separate, font-free option called the DisplayBarcode field code, described on Microsoft's own support site, which generates a barcode graphic for certain formats without installing anything extra.
Why does my barcode font not scan?
The most common causes are a missing quiet zone around the bars, a font size too small for your printer's resolution, a missing or incorrect start/stop character or checksum, and autocorrect or font substitution in Word silently changing the asterisks or font applied to your text. Always print a test barcode and scan it before committing to a full print run.
Can I download a free barcode font for Excel?
Yes. Code 39 fonts such as 'Free 3 of 9' and Google's Libre Barcode 39 are free to download and work well in Excel because Code 39 needs no computed checksum, just asterisks added around your data. Free Code 128 fonts also exist, but Code 128 requires a start code, checksum, and stop code calculated from your data, so you will also need a formula or VBA macro alongside the font.