The 10 best fonts for programming: A guide
Here, we'll look at ten fonts favoured by programmers, including some of the latest typefaces and some retro classics. Let's get right into it.
Fira Code is one of the most popular fonts for developers, having been developed with special programming ligatures from Mozilla's Fira Mono typeface. You can see these used in the Sublime Text 3.1 screenshot above, with the != and <= operators being represented via a single glyph to aid readability. It also appears a little softer than some other typefaces.
Hack is another typeface designed expressly for programming, with all of the essential features like easily distinguished O and 0 characters. It includes four faces and over a thousand glyphs, including fun (and helpful) Powerline glyphs. If you'd like Hack with ligature support, you can check out new offshoot Haack.
Input Mono is another popular option that distinguishes itself with an almost overwhelming level of customisability, from different widths, weights, line heights, alternative letterforms and much more. Even in its default state, Input Mono remains a highly readable font, although out of the box it lacks ligature support.
FiraFlott is a mashup of two fonts, Fira Code and FlottFlott. It apes the look of the rather expensive Operator Mono font, combining a readable base font with cursive-style italics. We couldn't get FiraFlott working easily in Sublime Text, so the screenshot above is from VSCode.
It's also possible to select two different fonts in your editor to achieve the same result, which has been covered by Matt McFarland for Atom and Mohammed Zama Khan for VSCode. A cheaper alternative to Operator Mono, Dank Mono, is also available if you want a more portable and easier to install option.
Consolas is the standard console font on Windows, having been included since Vista back in 2006. It offers slightly thicker text than other coding typefaces, but does have some readability issues, e.g. similar characters for 1 and l. Reddit user /u/paszklar fixed some of these issues in an edited version of the font.
Fantasque Sans Mono
Fantasque Sans Mono is one of the most unique fonts on this list, with a quirky style inspired vaguely from Comic Sans (the most widely hated font in the world, just ahead of Papyrus). The slightly unusual renderings of many letters seem to aid readability, although the font has also attracted disdain for the same reason.
Inconsolata is an monospaced font created by Raph Levien, designed to improve on Consolas. If you have been using Inconsolata for a while, it may be worth getting the most recent version (ca. 2015) which is fully hinted and comes with a bold face. Readability could still be improved though, with 1 and l appearing quite similar in the Sublime Text screenshot above.
Iosevka is a very slender and stylish typeface which produces rather compact-looking code. With the relaxation of once-stringent code width requirements, Iosevka might be a good way to ensure all of your code fits on-screen without sacrificing font size.
Envy Code Preview #7
Envy Code R Preview #7 is an odd one. This blast from the past was released over ten years ago, but still manages to find some fans. The font has a more retro appearance than many others on this list, without unduly sacrificing readability.
Dec Terminal Modern
Dec Terminal Modern is another option which is particularly suitable for fans of old-school terminals circa 1983. This VT200-inspired font may be a little too compact to be easily readable, but there's a certain charm to its chunky appearance.
What's your favourite font for coding? Let us know in the comments.