Choosing A Monospace Font: 2019-March

On 2014/07/03 I wrote How To Choose A Font. My font choice would get used mostly in a text editor, a web page, or a printed page. Based on notable information I ended up choosing DejaVu Sans Mono. Five years later I’m still in love with it.

Right now though I’ve got important life-tasks that I need to complete, that I want to avoid. So it seemed like a great time to revisit my font choice.


Just like five years ago there a lot of choices out there. Too many choices. It is easier to narrow them down by choosing a monospace font. But there are still too many to evaluate. Here are more criteria (in addition to the original) to hopefully make it simpler:

  • Lots of momentum behind it: lots of users vouching for it
  • Unicode support is huge
  • Thoughtful blog posts praise the font
  • Zero Cost
  • Looks good using the programming-font-test-pattern. It is the fastest way to review a programming font:
o0O s5S z2Z !|l1Iij {([|})] .,;: ``''"" www
a@#* vVuUwW <>;^°=-~ öÖüÜäÄßµ \/\/ -- == __
the quick brown fox jumps over the lazy dog
0123456789 &-+@ for (int i=0; i<=j; ++i) {}

From there I'm going to choose five and dig a little deeper.



The first five fonts that I added to my list were all related via the DejaVu Sans lineage so I didn't learn anything new there. However I chose one that seemed to be the best variant.

The next ten were notably different and I reduced that list down to five.

Here are the contenders:


The animation changes to the next font every two seconds. This provides two good evaluation approaches. The first is to just observe the entire body of the text. Without having to think about it you will notice how the shape changes and have a reaction to that. Second, again without having to think about it, individual areas will jump out at you. Focus on them as the video progresses. Continue to scan for areas that jump out and watch them cycle. That will give a better feel for the fonts. Take your time.

Top 5


Watch it for a while.

All of them are impressive.

Fira and Anonymous Pro stand out as the most different from my preference (not very different though). The other three are closer to Deja Vu, and their documentation already spells that out so no surprise.

Top 2


I stuck close to Deja Vu, so I only had to choose from three of the top five.

I already liked Deja Vu Sans Mono and so it was cool to find similar but different enough versions of it (albeit only two but that was enough). Ultimately I ended up comparing Deja Vu Sans Mono with Hack.

Between them there are not a ton of changes between it and Hack but they are noticeable. Hack makes the font a little more human to me: it is easier to read and feels a little warmer and friendlier. Maybe the only noticeable things are the sort of similarity between "l" and "i", the "0" feels very different, and the parens are centered. None of them are showstoppers however.


Hack is the winner 😄😮.

It is a small but worthwhile change.

Can't wait to see how it pans out for the next five years.

What are your top three programming fonts?