What are the best programming fonts?

As much as choice of a font is subjective there are important criteria to consider when choosing a programming font. The characters should be clear, easy to read, in cases of clashing ones such as 1, l, i or O, o, 0 easily distinguishable, differences between different kinds of brackets, quotes and parentheses should be clear, punctuation should be emphasized and they shouldn't break up words or sentences due to uneven character widths.

There are two ways fonts are drawn - as bitmaps or as vectors. Vector fonts allow more efficient scaling, but for screens with resolution below 720p it might be worth considering bitmap fonts as they are generally more legible at smaller sizes on low-resolution screens.

This question can be improved. You can help by:

  • Adding sources to pros and cons.

Why do you recommend Source Code Pro?

Why do you not recommend Source Code Pro?

An open source programming font released by Adobe, made with the intent of maximizing usability and avoiding common design flaws in monospaced fonts.

Easy on eyes

Characters are easily readable. They have consistent widths across all weights as to not break up words, commonly used programming symbols such as va...

Legible on all displays

The characters have been made to be easily discernible and usable regardless of font size, weight and display.

Missing support for Cyrillic and Greek letters

While there's no support for Cyrillic and Greek characters yet, work on them has already begun.

Why do you recommend Consolas?

Why do you not recommend Consolas?

Available for Windows and OS X

The font is available on machines running Windows Vista, Windows 7, Windows 8 and Windows 8.1 as well as part of Microsoft Office 2007 and Microsoft...

Includes a large number of unicode ranges

Consolas supports 30+ unicode ranges including Greek, Cyrillic and Thai for a total of 2735 glyphs.

Highly aliased with ClearType off

Consolas is specifically designed to work with ClearType antialiasing, so it becomes highly aliased when ClearType is not turned on. This can be alle...

Why do you recommend Ubuntu Mono?

Why do you not recommend Ubuntu Mono?

Excellent readability

Line thickness, shape, and spacing help recognize characters and words correctly the first time through without eyes having to skip back and re-read.

Easily distinguishable characters

Dotted zeros to distinguish from capital O and lower case letter l is very different from the number one.

Lowercase 'm' is weird and stands out

The lowercase 'm' in Ubuntu Mono really stands out because of its unusual shape, which disrupts attention when reading.

Why do you recommend Inconsolata-g?

Why do you not recommend Inconsolata-g?

Free and open source

Released under the Open Font License of SIL

Fixes clashing character similarity of inconsolata

Inconsolata-g is a variant of the popular Inconsolata that fixes the similarity between"1" [one] and the "l" [lower-case ell].

Renders lines as dashes in TUI interfaces

Lines in things like midnight commander, the treeview in htop, tmux panes, the tree command, et al, have ugly dashed lines instead of straight lines...

Why do you recommend Monaco?

Why do you not recommend Monaco?

Easy on eyes

Monaco's rendering is similar to that of Consolas but slightly more playful. Each character seems to be a tiny bit larger when compared to Conso...

Good differentiation between clashing characters

The curly braces are easily distinguishable from parentheses, 0 from O, 1 from l, etc.

Only comes with Mac OS X

install Monaco on other platforms.Link : https://github.com/vjpr/monaco-bold

Why do you recommend DejaVu Sans Mono?

Why do you not recommend DejaVu Sans Mono?

This nice open source font family is derived from the Bitstream Vera family, itself close to the Microsoft core Web fonts (see Andale Mono).

Excellent unicode support

DejaVu Sans Mono has one of the most complete Unicode fonts available. This means you have access to a wide range of special symbols including mathem...

Nice uniform spacing

The font is well spaced as to not break up words.

No cons added yet

Why do you recommend Anonymous Pro?

Why do you not recommend Anonymous Pro?

Anonymous Pro (2009) is a family of four fixed-width fonts designed especially with coding in mind.

The best rendering character for DIGIT ONE


Clearly distinguishable clashing characters

Characters that could be mistaken for one another (O, 0, I, l, 1, etc.) have distinct shapes to make them easier to tell apart in the context of sour...

Exaggerated italics

The italicised version of the font is too slanted, meaning that italicised comments in code look really unbalanced.

Why do you recommend Envy Code R?

Why do you not recommend Envy Code R?

Easy on eyes

Quite narrow (like Anonymous Pro) but squarish, the letters are easy to read and offer a pleasing reading experience.

Easily distinguishable clashing characters

This font offers very distinct programming characters like {} vs. () and the classically confusing 0O and 1lI.

Lower Case "w"

The lower case "w" is a bit distinct and distracting, due to the narrow nature of the font. Could cause a distraction.

Why do you recommend Menlo?

Why do you not recommend Menlo?

Menlo is a monospaced sans-serif typeface designed by Jim Lyles. The face first shipped with OS X Snow Leopard. Menlo is based upon the Open Source f...

No pros added yet

Doesn't work at size 10

Menlo displays as expected for size 11 and bigger, but doesn't seem to work very well at size 10. I've noticed the following problems:Zero...

Why do you recommend Droid Sans Mono?

Why do you not recommend Droid Sans Mono?

(Click the image for a bigger image and here for a massive image)Download & more infoThere are also versions with slashed or dotted zeroes, to...

No pros added yet

Zero is not slashed or dotted

Why do you recommend Liberation Mono?

Why do you not recommend Liberation Mono?

Liberation Mono is styled closer to Liberation Sans than Monotype's Courier New, though its metrics match with Courier New. The Liberation fonts...

Compact line height

Just like Courier New, metrics of which this font emulates, its line height isn't too big, which results in more lines on the screen, compared to...

Has Bold typeface

No cons added yet

Why do you recommend Pragmata Pro?

Why do you not recommend Pragmata Pro?

A very narrow, highly legible programming font. Noteworthy for having quite a bit of Unicode implemented, including the APL codepoints.http://www.fsd...

Very clear and legible

The font has been hand-hinted with legibility in mind.

Narrow width saves a lot of space compared

The compact design of the fonts allows effective editing in 2-3 windows side-to-side, even on a laptop screen.

Can be expensive

The most basic version is less than $3 USD but the cost jumps to $20 for bold and can get as high as $225.

Why do you recommend Terminus?

Why do you not recommend Terminus?

(Click the image for a bigger image and here for a massive image)Note: The small size of this font makes it hard to compare at 11pt, please leave a...

Terminus is not going fat

In my system there is just one font which is not fatty when it's relatively big. And now it works with IDEA. Terminus is just awesome font.


Italicized Terminus TTF doesn't appear as aesthetically pleasing as it was intended.

Why do you recommend Monofur?

Why do you not recommend Monofur?

(Click the image for a bigger image and here for a massive image)Download

Letterforms are highly distinct

It's simple, beautiful, stylish

No cons added yet

Why do you recommend Meslo LG?

Why do you not recommend Meslo LG?

Meslo LG is a customized version of Apple’s Menlo-Regular font. Screenshots are from the M variant. (Click the image for a bigger image and here f...

Patched Powerline version exists

A patched version with additional glyphs for Vim Powerline is easily downloadable

No cons added yet

Why do you recommend Andale Mono?

Why do you not recommend Andale Mono?

Was offered by Microsoft as their core Web fonts, and freely redistributable, MS no longer offers it free on their site. However, the original licen...

Excellent legibility.

Easy to distinguish 0 from O, a from o, and I from l from 1.

Good font variants

Boldface variant is not too heavy; italic face is not too spindly. (Contrast with Source Code Pro, which is very similar in the regular font face.)

No cons added yet

Why do you recommend M+ 1m?

Why do you not recommend M+ 1m?

M+ M emphasize the balance of natural letterform and high legibility. while M+ MN is aimed at a new distinctive design for a terminal font specializ...

High legibility

No cons added yet

Why do you recommend Proggy Clean?

Why do you not recommend Proggy Clean?

(Click the image for a bigger image and here for a massive image)Download

Hipster among hipsters

Even hipster will marvel at this font, praising you are the new hipster lord. It is best suited at around 19px (tested on mac). Overall, better reada...


This is, of course, intentional; but can be hard to look at compared to other smooth monospace fonts.

Why do you recommend Lucida Console?

Why do you not recommend Lucida Console?

Mono-Space - Curlies, square brackets, comas, and periods are distinguishable even at 8 pt font, and comes with every windows box.One of the original...

No pros added yet

No cons added yet

Why do you recommend PT Mono?

Why do you not recommend PT Mono?

(Click the image for a bigger image and here for a massive image)Download

No pros added yet

No cons added yet

Why do you recommend Dina?

Why do you not recommend Dina?

Dina is a monospace bitmap font, primarily aimed at programmers. It is relatively compact to allow a lot of code on screen, while (hopefully) clear e...

No pros added yet

No cons added yet

Why do you recommend GohuFont?

Why do you not recommend GohuFont?

Gohu Gohufont is a monospace bitmap font well suited for programming and terminal use. It is intended to be very legible and offers very discernable...

Unique glyphs

Easy to distinguish characters at small sizes.

Bitmap only

Certain cairo powered apps fail to render them (e.g. sublime text on certain Linux distros).

Why do you recommend TheSans Mono?

Why do you not recommend TheSans Mono?

TheSans Monospace has been derived from TheSans, the sans serif part of Luc(as)'s Thesis family. This new variation started as a kind turn to Tho...

No pros added yet

No cons added yet

Why do you recommend 6x13 fixed?

Why do you not recommend 6x13 fixed?

6x13 is the classic fixed monospace bitmap font that is expected to be available on every X server. It is part of the misc-fixed family. These fonts...


The apex of bitmap fonts. Great proportions for quantity of text onscreen and readability. Nice, defined character set. Aesthetically pleasing for a...

No cons added yet

Why do you recommend Segoe UI Mono?

Why do you not recommend Segoe UI Mono?

(Click the image for a bigger image and here for a massive image)Comes with Windows. Need some magic to make it work with Mac (need to have Office...

Very readable

This is a very readable font.

The zero is not slashed

The zero is not slashed, which causes some problems when scanning source code. This is not an issue when the IDE supports colouring (like all major m...

Why do you recommend Nanum Gothic Coding?

Why do you not recommend Nanum Gothic Coding?

I have no idea how this font appeared on my computer but it is beautiful.You can get it from Developer Site of Korean Search Engine(Naver) by clicki...


Korean, Japanese, English

No cons added yet

Why do you recommend Latin Modern Mono?

Why do you not recommend Latin Modern Mono?

A set of free fonts based on Computer Modern, the default font for TeX. One of the main extensions is the addition of an extensive set of diacritical...

No pros added yet

No cons added yet

Why do you recommend Linux Libertine Mono?

Why do you not recommend Linux Libertine Mono?

Linux Libertine Mono available since version 5.3.0: http://www.linuxlibertine.org/index.php?id=1&L=1

No pros added yet

No cons added yet

Why do you recommend ProFont?

Why do you not recommend ProFont?

ProFont is a small bitmap font which is absolutely great for programming. It was made for Macintosh computers, but now it's also available for Wi...

Very legible at small sized

Looks good anti-aliased

No cons added yet

Why do you recommend Espresso Mono?

Why do you not recommend Espresso Mono?

Espresso Mono is included in the Espresso text editor by MacRabbit. The metadata indicates it was designed by the DejaVu fonts team.

No pros added yet


Why do you recommend Input?

Why do you not recommend Input?

Input is a flexible system of fonts designed specifically for code by David Jonathan Ross. It offers both monospaced and proportional fonts, all with...

Highly configurable

Can be configured online with preview: width, weight, line height, alternate letterforms.

Available in Mono, Sans and Serif

There are a couple advantages of using a proportionally spaced font in code: comfort of reading, ease of spotting typos, better differentiates betwe...

No cons added yet

Why do you recommend Panic Sans?

Why do you not recommend Panic Sans?

Panic, Inc. which makes Coda, distributes Panic Sans.

Great line spacing and italics

Clearly distinguishes clashing characters

It has added uniqueness for easily confusing characters like 0 and O, l and 1.

No cons added yet

Why do you recommend  Anka/Coder?

Why do you not recommend  Anka/Coder?

The Anka/Coder family is a monospaced, courier-width (60% of height; em size 2048x1229) font that contains characters from 437, 866, 1251, 1252 and s...

No pros added yet

No cons added yet

Why do you recommend Cruft?

Why do you not recommend Cruft?

Cruft is a variable-width font designed for programming. It was designed to ensure all characters are easily distinguishable and all punctuation is p...

No pros added yet

No cons added yet

Why do you recommend Print Char 21?

Why do you not recommend Print Char 21?

The Ultimate Apple II FontDownload the world's most complete Apple II text font, in TrueType format. Works on Mac OS X, Windows, or any operating...

No pros added yet

No cons added yet

Why do you recommend Creep?

Why do you not recommend Creep?

Creep is a very small (4x9px) pixel font that's great for smaller sceens. It has a crisp appearance and emphasises on readability as well as beau...

Very small

This font is nice and small - ideal for small screens.

Specifically designed for programming

Really small

this font is so small it might be hard to read

Why do you recommend Courier?

Why do you not recommend Courier?

Courier is a monospaced slab serif typeface designed to resemble the output from a strike-on typewriter. The typeface was designed by Howard "Bu...

Comes pre-installed on almost any operating system

Simple yet effective

No cons added yet

Why do you recommend Courier New?

Why do you not recommend Courier New?

No pros added yet

No cons added yet

Why do you recommend UW ttyp0?

Why do you not recommend UW ttyp0?

UW ttyp0 is a family of monospaced bdf (X11 bitmap) fonts. Features:Clean, easily distinguishable characters; typographically informed.Large x-heig...

No pros added yet

No cons added yet

Why do you recommend Raize?

Why do you not recommend Raize?

The Raize Font is a clean, crisp, fixed-pitched sans serif screen font that is much easier to read than the fixed pitched fonts that come with Window...

No pros added yet

No cons added yet

Why do you recommend VGA Font?

Why do you not recommend VGA Font?

This guy made the original VGA font with Unicode support.Personally I converted it to TrueType and use it on Visual Studio with the classic blue back...

No pros added yet

No cons added yet

Why do you recommend Fantasque Sans Mono?

Why do you not recommend Fantasque Sans Mono?

A programming font, designed with functionality in mind, and with some wibbly-wobbly handwriting-like fuzziness that makes it unassumingly cool.

Open source

OS X, Linux, Windows support (otf, ttf)

Looks too small on IDEs

Even at 14 the font can be hard to read.

Why do you recommend Code New Roman?

Why do you not recommend Code New Roman?

Highly anti-aliased

More comfortably reading

more comfortably reading of extended text on screen. OpenType features include hanging or lining numerals; slashed, dotted and normal zeros; and alte...

No cons added yet

Why do you recommend Camingo Code?

Why do you not recommend Camingo Code?

Easy on eyes and very legible font

Very good proportion between the width and height.

No cons added yet

Why do you recommend Hermit?

Why do you not recommend Hermit?

a font for programmers, by a programmer

Looks good

clear and legible

No cons added yet

Why do you recommend FreshBold?

Why do you not recommend FreshBold?

The full screenshot.FreshBold font has been created especially for assembly programming, where it is very important to have high legibility of the so...

No pros added yet

No cons added yet

Why do you recommend Cousine?

Why do you not recommend Cousine?

Default programming font on Chrome OS; Liberation Mono derivative

Good distinction made between similar characters

Renders nicely even on Windows

No cons added yet

Why do you recommend Happy Monkey?

Why do you not recommend Happy Monkey?

Happy Monkey is a display sans serif typeface family, with thin and rounded strokes. Suitable for informal headlines and all your fun typography!

No pros added yet

No cons added yet

Why do you recommend Cosmic Sans Neue Mono?

Why do you not recommend Cosmic Sans Neue Mono?

A programming font, designed with functionality in mind, and with some wibbly-wobbly handwriting-like fuzziness that makes it unassumingly cool.View...

No pros added yet

No cons added yet

Why do you recommend GNU Unifont?

Why do you not recommend GNU Unifont?

Unifont is a Unicode font with a glyph for every visible Unicode Basic Multilingual Plane code point and more, with supporting utilities to modify t...

Unicode support

This font covers the entire BMP and work is still being done to expand it beyond.

No cons added yet

Why do you recommend Triskweline?

Why do you not recommend Triskweline?

Triskweline is a fixed-width font especially suited for text editors and programming environments. It was designed for maximum legibility and tidine...

No pros added yet

No cons added yet

Why do you recommend Envy Code B?

Why do you not recommend Envy Code B?

No pros added yet

No cons added yet

Why do you recommend Office Code Pro?

Why do you not recommend Office Code Pro?

Custom version of the Source Code Pro type family by Nathan Rutzky.

Modern and Highly Legible

The customizations were made specifically for text editors and coding environments, but are still very usable in other applications.

No cons added yet

Why do you recommend Skyhook mono?

Why do you not recommend Skyhook mono?

Clean and readable

Many glyphs for different languages

Only basic version is free

Why do you recommend Lucida Sans Typewriter?

Why do you not recommend Lucida Sans Typewriter?

An ancestor of Lucida Console

No pros added yet

No cons added yet

Why do you recommend Eco Coding?

Why do you not recommend Eco Coding?

No pros added yet

No cons added yet

Why do you recommend Fira Mono?

Why do you not recommend Fira Mono?

Extremely readable

U can look at the code for hours and hours. The height between lines and the spacing is perfect. My eyes wont strain any more.. Perfect for writing a...

Looks great and Easy on eyes

Almost looks like Source Code pro and works great with Intelli J where Source Code Pro renders all junk on one of the primary IDE. Very good for peop...

No cons added yet

Why do you recommend Sudo?

Why do you not recommend Sudo?

Sudo is a space-saving font optimized for 16 pixels font size. Download at netzallee.de, source files available from GitHub

No pros added yet

No cons added yet

Why do you recommend Luxi Mono?

Why do you not recommend Luxi Mono?

A slab-serif monospaced font with a distinctive look.

No pros added yet

No cons added yet

Why do you recommend Vera Sans Mono?

Why do you not recommend Vera Sans Mono?

Clearly distinguishes clashing characters

Characters such as 1, I and l as well as 0 and O are differentiated enough as to not be confusing.


Licensed under GNU.

No cons added yet

Why do you recommend Agave?

Why do you not recommend Agave?

A fixed size font.

Very nice, not boring, clear to read even in small size

Development is on hiatus

Why do you recommend KaiTi?

Why do you not recommend KaiTi?

Great font, even at small sizes

Very clear even at small sizes

This font is included in windows by default and is really easy to read at small sizes, allowing me to keep more code on the screen. It was originally...

No cons added yet

Why do you recommend OCR A Extended?

Why do you not recommend OCR A Extended?

You can clearly tell the difference between those troublesome characters like apostrophes and quotes.Each character is clearly (there's that word...

No pros added yet

No cons added yet

Why do you recommend IBM 3270?

Why do you not recommend IBM 3270?

The classic IBM mainframe terminal font, in a modern format


Simple, elegant, 1970's cool. Built from the x3270 bitmap font.

No cons added yet

Are we missing something?

Help make this question more complete.