Free barcode fonts
Seven free barcode fonts for Code 39, Code 128 and EAN-13. Install them on Windows or Mac, type your data in the right format, and the barcode scans.
Updated
This is text, not an image: it's the words BARCODE FONT set in Code 39 with text. Point your phone's scanner at it.
TrueType (.ttf) files for Windows and Mac. Free for personal and commercial use.
Pick the right font
Each barcode type needs its own font, and each expects its data in a specific format. Most barcode fonts that "don't work" are installed correctly but typed in the wrong format.
| Font | What you type | Works in Excel |
|---|---|---|
| Code 39 | Your text inside asterisks | Yes, with a simple formula |
| Code 128 | Encoded text from the Code 128 encoder | Yes, with a formula |
| EAN-13 | 12 digits and a question mark | Yes, with a formula |
Code 39 barcode font
The easiest barcode font to use. Common for inventory, ID badges and manufacturing.
- What to type
- Wrap your text in asterisks.
- Example input
*BARCODEFONT*- Characters
- Uppercase A–Z, digits 0–9, space and - . $ / + %. For lowercase and other characters, use the Extended version.
- Code 39 .ttf
- Code 39 with text .ttf
- Code 39 Extended .ttf
- Code 39 Extended with text .ttf
Code 128 barcode font
Compact and supports letters, digits and symbols. Common on shipping labels and asset tags.
- What to type
- Encode your text first. Code 128 needs a start character, a checksum and a stop character, so typing plain text produces a barcode that will not scan.
- Example input
ÌBarcodeFontQÎ- Characters
- Use an encoder to convert your text, then paste the result and apply the font.
- Code 128 .ttf
- Code 128 with text .ttf
To encode your text, use the free Code 128 font encoder. Paste your text, copy the result into your document and apply the font. It also converts a whole Excel column at once.
EAN-13 barcode font
The retail product barcode. Also handles UPC‑A, EAN‑8 and UPC‑E.
- What to type
- Type 12 digits followed by a question mark, and the font calculates the check digit. You can also type all 13 digits.
- Example input
590123412345?- Characters
- Typing digits and a question mark needs the OpenType "contextual alternates" feature, which web browsers and Word support. Excel doesn't, so use the EAN-13 formula from the Excel guide instead.
- EAN-13 with text .ttf
How to install a barcode font
Windows 10 and 11
- Download the font file. If you downloaded the ZIP, right-click it, choose Extract All and open the extracted folder.
- Double-click the
.ttffile and click Install. - Close and reopen Word or Excel. The font now appears in the font list as "Libre Barcode 39", "Libre Barcode 128" and so on.
Mac
- Download and unzip the fonts.
- Double-click the
.ttffile. Font Book opens. - Click Install, then restart the app you want to use it in.
Using barcode fonts in Excel
Code 39 is the simplest choice for Excel. If your values are in column A, put this formula in column B:
="*"&UPPER(A2)&"*"
Then select column B and set the font to Libre Barcode 39 Text at size 36 or larger. UPPER converts lowercase letters, which standard Code 39 can't encode.
Code 128, EAN-13 and UPC-A also work in Excel, each with its own formula. The EAN-13 font's usual input of 12 digits and a question mark doesn't work in Excel, but the font accepts a second format that does. The guide to barcodes in Excel has copy-ready formulas for all four types, printing sizes and a free template.
Using barcode fonts in Word
Code 39 and encoded Code 128 work the same way as in Excel: type or paste the text, select it and apply the font.
For EAN-13, turn on contextual alternates: select the text, open the Font dialog (Ctrl+D), go to the Advanced tab and check Use Contextual Alternates. Without this, the digits show as separate characters and won't scan.
Why isn't my barcode font scanning?
- Missing asterisks in Code 39. The asterisks mark the start and end of the barcode. Without them, scanners ignore it.
- Plain text in Code 128. The font only draws the bars for the characters you give it. Without the start character, checksum and stop character, the result is not a valid barcode. Run your text through the Code 128 encoder first.
- Lowercase or unsupported characters in standard Code 39. Convert to uppercase, or switch to Code 39 Extended.
- Extended barcode read as standard. If a Code 39 Extended barcode scans as something like
H+E+L+L+Oinstead ofHello, enable "Full ASCII" mode in your scanner's settings. - Too small or too crowded. Increase the font size and leave clear white space on both sides of the barcode. Scanners need that margin to find where the barcode begins.
- Low contrast. Print black bars on a white background. Colored or gray bars and glossy surfaces often fail.
Are these barcode fonts free for commercial use?
Yes. The fonts are from the Libre Barcode project and are released under the SIL Open Font License. You can use them in documents, labels and products, commercially or not, and embed them in files you share. The main conditions apply to the font files themselves: they can't be sold on their own, and if you pass them on, the license has to go with them. The files offered here are unmodified, and the license is included in the ZIP.
Font or generator?
Use a font when barcodes need to update with your data, such as a spreadsheet of product codes or a mail merge for labels. Use the barcode generator when you need a single barcode as an image file for a website, packaging design or print layout.