Table of Contents
When it comes to customizing the tools used daily, no one beats us, developers.
We spend most of our time (and free time) on a computer typing code, or writing commands in a terminal.
That’s why it is so important to customize it for readability, and esthetics, which is also very important because a good font might completely change how we perceive the code we read and write every day.
That’s why I decided to do some research about the best fonts for programming currently available in the market. All are free to use.
Before diving into the list of beautiful fonts, let’s see how to install a new font.
A font usually comes in the form of a .ttf or .otf or .woff file format.
Those are alternative formats, so if the font comes with different formats, you don’t need to install all of them.
The font usually comes with different weights, like Regular, Italic, Bold, BoldItalic, divided into different files, and you need to install them all to support the different weights.
How to install a font on macOS
To install a new font on macOS, simply double-click on the font file and select “Install” in the Font preview window that opens.
How to install a font on Windows
Depending on the version of Windows, the process might change a bit, usually, you right-click on the font file and select “Install”.
How to install a font on Ubuntu
Double-click on the font file and click on “Install” in the Font Viewer window.
Common Font formats
Fonts are distributed using different formats. Here’s a list of the most common with the usage, and their characteristics:
ttf variable
(TrueType) This is a product of coordinated efforts between Apple and Microsoft in the 1980s. TTF font was created because both Apple and Microsoft had a common goal: create a font that was capable of working across Windows and Mac and could be deciphered by most printers by default.
otf static
OpenType font format. OTF font format is more scalable and extends the existing features of TTF formats for digital typography.
WOFF2
WOFF2 is a font format that provides, on average, a 30% reduction in file size, thus helping Web fonts load more quickly in compatible browsers.
But let’s get started with the best free fonts for programming, in no particular order (so scroll to the bottom of the list, you might find your favorite font at the end of this article).
Fonts
Fira Code
Fira Code is a free monospaced font containing ligatures for common programming multi-character combinations. This is just a font rendering feature: underlying code remains ASCII-compatible. This helps to read and understand code faster.
Fire Code comes with different variants, with and without ligatures.
This is one of my favorite fonts ever, that I use without ligatures (just my personal preference).
It is extremely well-designed.
It also supports stylistic sets, allowing you to customize how some of the characters are rendered.
Cascadia Code
Cascadia Code is a font designed by Microsoft. It comes bundled into the Windows Terminal and it is the default font in Visual Studio.
It comes in three variants:
Cascadia Code
: standard version of Cascadia
Cascadia Mono
: a version of Cascadia that doesn't have ligatures
Cascadia (Code|Mono) PL
: a version of Cascadia that has embedded Powerline symbols
For the italic, there is a standard
italic
and a cursive
variant accessible via ss01
Like Fira Code, Cascadia supports stylistic sets.
Check out the official repository for all the details.
Iosevka
Iosevka [ˌjɔˈseβ.kʰa] is an open-source, sans-serif + slab serif, monospace + quasi‑proportional typeface family, designed for writing code, using in terminals, and preparing technical documents.
Iosevka is a font particularly focused on supporting different languages, including Latin letters, Greek letters (including Polytonic), some Cyrillic letters, IPA symbols, and common punctuations and some symbols.
It supports stylistic sets, character variants, and ligations. Iosevka is one of the most complete free and open-source fonts in the industry.
Mononoki
Mononoki is one of the most original fonts. The characters’ shapes are very soft and pleasant (I recently installed this font, let’s see how long it can survive in my Visual Studio Code).
It supports a single stylistics set: the dotted zero, configurable with
ss01
.As far as I know, it doesn’t support ligatures.
Hack
Hack is a typeface designed for source code.
Hack includes monospaced regular, bold, italic, and bold italic sets. It has over 1500 glyphs and supports Latin, modern Greek, and Cyrillic character sets. It also comes with Powerline glyphs.
IBM Plex Mono
IBM Plex is a font design by… IBM. It’s open source and available for download in different formats.
It comes in Sans, Serif, Mono, and Sans Condensed, all with roman and true italics.
Currently, IBM Plex Sans supports Extended Latin, Arabic, Cyrillic, Devanagari, Greek, Hebrew, Japanese, Korean and Thai.
Hasklig
Hasklig is a font designed to provide ligatures to developers, specifically for Haskell coders (a functional programming language, where arrows are king).
The ligatures of Hasklig are rendered this way
Agave
Agave was an attempt at making a small, monospaced, outline font that would be geometrically regular and simple.
Agave takes inspiration from old-school console bitmap fonts.
Monaspace by GitHub
Monaspace is a font superfamily designed by GitHub.
It comes with five different fonts, Neon, Argon, Xenon, Radon, Krypton, each one with a different style.
Radon and Krypton are the two more “extreme” fonts.
Conclusion
These are the best fonts for programming that I’ve found so far.
What’s your favorite?
If you have a new font for programmers that you think should be mentioned in this article, reach out to me at [email protected].
Ship your startup in days and start selling.
Save weeks of coding with the #1 Next.js Startup and Chrome Extension Boilerplate. Made by a maker for makers.