I’m a typeface geek, and when it comes to selecting a font I’ll stare at all day, I tend to be pretty picky. Recently, when I discovered that a friend was using a sub par typeface (too horrible to name here) for his Terminal and coding windows, my jaw dropped, my heart sank a little, and I knew it was due time for me to compose this article.
What follows is a round-up of the top 10 readily-available monospace fonts. Many of these fonts are bundled along with modern operating systems, but most are free for download on the web. A few, notably Consolas, are part of commercial software.
A note about anti-aliasing
In the past, we’ve had to decide between tiny monospace fonts or jagged edges. But today, modern operating systems do a great job of anti-aliasing, making monospace fonts look great at any size. It’s not 1990 anymore. Give your tired eyes a break and bump up that font size.
If you have any doubt that anti-aliased fonts are apropos for code, note that even the venerable BBEdit — which for years has shipped with un-aliased Monaco 9 set as the default — has made the jump. The app now ships with a specially licensed version of the Consolas font from Ascender, bumped up in size, and with anti-aliasing on by default. Panic includes a special anti-aliased font (Panic Sans, which is actually just a version of Deja Vu Sans Mono) with its popular Coda application.
Unless otherwise noted, I’ve used a larger size font, 15-point in fact, for the examples here to illustrate their legibility at larger sizes and with anti-aliasing turned on.
10. Courier
All systems ship with a version of Courier (sometimes Courier New), and unfortunately, many have it set as the default font for terminal and editor windows. It does the job, but it’s a bit dull and boring, lacking style and class. I don’t recommend this font if you have any other choice — and fortunately, you do. If you use this font, please bump the size and turn on anti-aliasing.
Figure 1 Courier New
9. Andale Mono
A bit better than the Courier family, Andale Mono is still relegated to the “default font” category as it ships with some systems, and you wouldn’t want to download or use it if it wasn’t already there. The character-spacing is a bit too clumsy and the letters are a bit too wide for my tastes.
Figure 2 Andale Mono
8. Monaco
Monaco is the default monospace font on the Mac and has been since its inclusion in System 6. It’s a solid, workhorse font that really shines at smaller font sizes with anti-aliasing turned off. I loved this typeface back when my eyes could tolerate staring at a 9-point font for hours, but those days are behind me. This font looks great at 9 or 10-points (Figure 4), and doesn’t look too shabby anti-aliased at higher sizes (Figure 3).
As far as I know, you can only get Monaco as a part of Mac OS, but there are alternatives, so keep reading.
Figure 3 Monaco
Figure 4 Monaco 9-point, without anti-aliasing
7. Profont
Profont is a Monaco-like bitmap font available for Mac, Windows, and Linux (there’s also a modified version for Mac OS X called ProFontX by a different author). They’re best at smaller sizes, and make a great alternative to Monaco if you’re on a non-Mac platform and want really tiny fonts and the eyestrain that goes along with them.
Profont (and ProFontX) is intended for use at 9-points with anti-aliasing turned off.
Figure 5 Profont 9-point, without anti-aliasing
6. Monofur
Monofur is a unique monospace font that looks great anti-aliased at all sizes. It’s a fun font with a distinct look that is vaguely reminiscent of Sun’s OPEN LOOK window manager, which ran Solaris (aka SunOS) systems back in the late 80’s. If you’re looking for something a bit different, try this font, but make sure you have anti-aliasing turned on, even at small sizes.
Figure 6 Monofur
5. Proggy
Proggy is a clean monospace font that seems to be favored by Windows users, although it works fine on a Mac. It’s a clean font intended to be used only at smaller points, and without anti-aliasing.
Figure 7 Proggy Clean at 15-point (yes, 15-point), without anti-aliasing
4. Droid Sans Mono
The Droid font family (available for download here) is a nice font family designed for use on the small screens of mobile handsets, like Android, and licensed under the Apache license.
Droid Sans Mono makes for a great programming font. It’s got a bit of flair, and stands out among the other monospace fonts I’ve listed, and its only real flaw is the lack of a slashed zero.
Figure 8 Droid Sans Mono
3. Deja Vu Sans Mono
The Deja Vu family of fonts are one of my favorite free font families, based on the excellent Vera Font family. The Deja Vu fonts have been updated with a wider range of characters while maintaining a similar look and feel to that of Vera.
This was my go-to font family for many years. It looks great at any size with anti-aliasing turned on.
Panic ships a font with it’s Coda application called “Panic Sans” which is based on this font. Gruber says via email that when he compared Panic Sans against Vera, he noted that “Panic had noticeably crisper punctuation chars” and that it seemed like they had improved the hinting on some characters as well.
Figure 9 Deja Vu Sans Mono
2. Consolas
Consolas suddenly appeared on my Mac after I installed Microsoft Office, along with a handful of other new fonts from Microsoft.
This font was designed by Luc(as) de Groot for Microsoft’s ClearType font family (there’s a nice write-up with samples of each of the new Microsoft fonts here). Consolas is a commercial font, but is bundled with many Microsoft products, so there’s a good chance you might already have it on your system.
You’ll absolutely want to have anti-aliasing turned on if you’re using Consolas, because it’ll look terrible without it.
Too bad it’s not free … if it was, it would be #1 on this list.
Figure 10 Consolas
1. Inconsolata
Inconsolata is my favorite monospaced font, and it’s free. Shortly after discovering it, it quickly supplanted Deja Vu Sans Mono as my go-to programming font. I use it everywhere, from Terminal windows to code editors. It has a certain sublime style that’s unique without being over the top, and it looks fantastic at both large and small sizes. I use this font when I show code samples in a presentation, and it’s the font we use in Terminal and TextMate windows when filming PeepCode screencasts.
Inconsolata is designed to be used with anti-aliasing enabled, but it’s surprisingly legible even at very small sizes. A big thanks to Raph Levien for creating this font, and for making it free.
Figure 11 Inconsolata
Thoughts?
Did I miss your favorite coding typeface? Think the list is out of order? Let me know. If there’s a typeface you think should be in this list, please let me know in the comments section below. If it meets my ridiculous standards, I’ll review it and include it in a follow-up article.
Commenting is not available in this weblog entry.








Caleb
17 May 2009 at 8:32 am
I’m going to give Inconsolata a trial, but my go-to font is MPW (Macintosh Programmer’s Workshop). It’s a tweaked Monaco. It’s still on Apple’s FTP, but in a hqx file ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./Miscellaneous/MPW_Font.sit.hqx It has bitmap for 9-10 and 12 point sizes and true type.
Zelnox
17 May 2009 at 8:33 am
I’ve used Anonymous and Triskweline as my coding font at some point. Before Inconsolata came along. Hehe, I’ll still change font once in a while.
Steve
17 May 2009 at 8:36 am
Pragmata is my favourite font for programming. Sure, it costs money, but how much is your eyesight worth :-) Find it at: http://www.fsd.it/fonts/pragma.htm
I’m not associated with the designer, etc, just a very satisfied user.
Vishal Parpia
17 May 2009 at 8:54 am
You missed Panic Sans that ships with Coda. Fantastic font for programming of any sort and looks gorgeous anti-aliased.
Kev Rodgers
17 May 2009 at 8:55 am
What point size do you use in Terminal and TextMate?
Yoram Blumenberg
17 May 2009 at 8:58 am
I use the very well hinted Pragmata — there is one catch: the prize tag. But I paid and I am still very happy; and I tested more or less every serious mono spaced font.
<div class=“thumbnail”>http://img.skitch.com/20090517-bmffsphqefx5snxs7edxij13ic.preview.jpg
<span style=“font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080”>Uploaded with plasq‘s Skitch!</span></div>
Ulrich Petri
17 May 2009 at 9:00 am
I also would suggest a look at Anonymous. I very much like the parens and braces which have a very “clean” look imho.
It’s available for free at: http://www.ms-studio.com/FontSales/anonymous.html
Mark H. Nichols
17 May 2009 at 9:17 am
I’ve been a huge fan of Anonymous for years, but I like the looks of Inconsolata enough that I’m giving it a try.
Even though I wear tri-focals, I still use a 9-point size for most of my code work. Beyond a great look at different monospaced fonts, you’ve reminded me that a larger font size, while giving up some screen real estate, may reduce the strain on my eyes.
Eddie Welker
17 May 2009 at 9:18 am
My favorite programming font of all-time is Dina. Its clean, small, evenly spaced. Even on large, high resolution monitors, it’s easy to read. I’ve occasionally tried other programming fonts (including most on your list) and have never found a better font to fit my needs.
For me, I want to see as much code as possible sitting in one place (to the extent where I will even compress syntax in languages like CSS, XML, and Python [non-C like syntaxes]). Dina allows me to do just that. Not to mention the small benefit of less scrolling as well.
Warren Dodge
17 May 2009 at 9:23 am
Recently I went through this same process of comparing all the available programming fonts, but the one I thought was best isn’t on your list. Since it’s free and truly excellent, you might want to check it out: Liberation Mono. It was commissioned by Red Hat from Ascender.
Wikipedia: http://en.wikipedia.org/wiki/Liberation_fonts
Fedora/Red Hat: https://fedorahosted.org/liberation-fonts/
The download link is on this page. The package you want is whatever is most recent of the form: liberation-fonts-1.04.93.devel.tar.gz
Thanks again for the great article.
Rob L.
17 May 2009 at 9:50 am
Some of my teammates at work think I’m crazy, as will some of the folks on this thread, but I just don’t see monospaced fonts as a necessity for working with code. Lately I’ve been using Coda set to Lucida Grande 12 and it’s incredibly comfortable.
All the monospace fonts I try (including most on this list) are too light at 9-12 pt and just too big above 12pt.
Stephen Darlington
17 May 2009 at 10:00 am
Thanks for recommending Inconsolata. Never heard of it but looks good. Just switched over to it in XCode!
Wolf
17 May 2009 at 10:43 am
Went from Monaco to Consolas and back to Monaco; then Vera. Will give Deja Vu and Inconsolata a try now. This post satisfies me as a geek designer. Thanks!
Hywel
17 May 2009 at 10:44 am
I’ve always used Lucida Console on Windows and kind of defaulted to Andale Mono on the Mac (I rarely do any coding on the Mac).
Can’t stand Courier.
Charles Parnot
17 May 2009 at 11:06 am
Now I know why but everytime I try a new font, I find myself going back to Monaco 10 anti-aliased. At smaller size, it’s probably the most legible in my list. The equivalent Consolata 12 pt looks cramped and more ‘busy’ when compared to Monaco 10. I may switch when my eyesight starts going down, or my screen size up.
Thanks for the list, anyway!
Scott McMillin
17 May 2009 at 11:34 am
I’ve been using Anonymous for a while now, but I’m going to give Inconsolata a try now. Thanks, Dan!
Dan Benjamin
17 May 2009 at 12:13 pm
@Vishal Parpia - Actually, I didn’t miss Panic Sans, I address it 4th paragraph. I’ve also added a note under Deja Vu Sans Mono, because Panic Sans is a clone of that font.
Joseph McLaughlin
17 May 2009 at 12:14 pm
Great article Dan!
I’m a big fan of Espresso Mono, which comes with the new text editor for OS X (Espresso). You can get the font just by downloading the program, then looking inside the application bundle, but I’m not sure how ethical that is. Anyway, it’s a great font for those that own the program and the one I use for Terminal, TextMate, Espresso, etc.
Thanks for the great list! I’m sure this will become the definitive article on the subject!
Christoffer Lernö
17 May 2009 at 12:45 pm
Courier New at 12pt without anti-alias is - after trying out many different fonts - the clear winner for me. I think CourierNew at 12pt has the feeling of Monaco 10pt, only bigger. (And Monaco 9/10 (without anti-alias) are big favorites of mine)
Personally I think that turning on anti-alias for CourierNew is a mistake if it’s used for programming. CourierNew at 12pt shines.
Brook Elgie
17 May 2009 at 1:07 pm
A small correction: Consolas was designed by Luc(as) de Groot for Microsoft’s ClearType collection. I believe Ascender Corp. are commercial resellers for Microsoft typefaces.
Joe Clark
17 May 2009 at 1:17 pm
You get a version of Consolas with BBEdit now. Consolas is merely the 300th or so variation of Thesis by de Groot. TheSans Mono has been a perfectly viable monospaced typeface family (dozens of varieties) for a decade and a half. Apress even typesets code in their shitty books using that face, as does O’Reilly some of the time.
Numerous real type designers produce monospaced fonts. Fedra Mono is one such example.
Isn’t this whole topic a Digg-style trope that comes up every 8 to 12 months?
Duncan Robertson
17 May 2009 at 2:07 pm
I can’t believe Bitstream Vera Sans Mono it not on this list. I couldn’t develop without it.
Dan Benjamin
17 May 2009 at 3:11 pm
@Duncan Robertson - BVS is a great font family. Deja Vu Sans is the expanded version of Bitstream Vera Sans, as mentioned and linked to above.
Dan Benjamin
17 May 2009 at 3:14 pm
@Brook Elgie - thanks, I’ve updated the post.
Deron Sizemore
17 May 2009 at 4:29 pm
Inconsolata looks great! I wanted to give it a try but each time I try to install it I keep getting an error saying that it is unable to install and the font may be damaged.
Anyone else having trouble?
David E. Wheeler
17 May 2009 at 5:36 pm
Trying Inconsolata, thanks! Been using Consolas for a while, following Gruber; might switch back, will have to see.
In the past, I’ve used Andale Mono and [Lucida Sans Typewriter](http://www.fonts.com/findfonts/detail.asp?pid=206323), which I think is another Microsoft font. You might want to check it out, too.
–Theory
James Duncan Davidson
17 May 2009 at 5:55 pm
Consolas all the way. It might be #2 on your list, but it’s #1 on mine. Of course, it’s not free, but…
Yoram Blumenberg
17 May 2009 at 6:32 pm
@ Dan
offtopic: could you clean up my mess w/ my first comment (regarding Pragmata) – I tried to give an example and used some html … sorry for that.
and while you’re editing my comment please delete this one too ;) – thanks.
Pete Nicholls
17 May 2009 at 6:54 pm
I heartily recommend Panic Sans. It’s included in Coda.
kch
17 May 2009 at 7:29 pm
The screenshot on “3. Deja Vu Sans Mono” appears to have the wrong language mode.
kch
17 May 2009 at 7:45 pm
I think this list could be trimmed down to a top 5 with no loss. So much for your ridiculous standards, eh :P
Anyhoo, what I meant to say is: if the only Microsoft product you happen to own is a mouse, which surprisingly doesn’t come with any font (but I hear they’re great anyway), you can still download it for free from them.
They make it available here http://is.gd/jGQV, in a lovely EXE installer package, so you’ll have to fire up your Olde Win XP virtual machine, install it, and copy the files over.
I haven’t read the installer EULA to verify the legality of that.
Vicki
18 May 2009 at 2:03 am
I love Monaco but have discovered that, in Mac OS X, Monaco converts a o/ to a slashed o character. Not good for path names. I’ve started using Lucida Console for Terminal and like it.
I’m also a is fan of Nu Sans Mono for some work: http://www.scootergraphics.com/nusansmono/
it includes bold and italic versions
Dru
18 May 2009 at 8:14 am
Great selection. I’m a huge fan of inconsolata, but I’m quite liking droid sans for a bit of a change. I managed to find a modified mono only version with a dotted zero here http://www.cosmix.org/software/
rjp
18 May 2009 at 8:32 am
Is it just me or does anyone else get nothing but italicised Monofur using putty?
rjp
18 May 2009 at 8:40 am
Ah, it’s Putty picking up monof56.ttf in preference to monof55.ttf when you pick monofur from the menu. Delete the monof56.ttf file and everything is right with the world (except you can’t have nice italic monofur.)
Wes
18 May 2009 at 11:05 am
I tried out Inconsolata after this recommendation but have gone back to Consolas. Inconsolata feels a bit round, it has a weird lowercase ‘t’ that ends up looking bold when the other text isn’t. I also thought the tilde wasn’t defined enough, particularly in a prompt. Being freely available and not having to jump through hoops is certainly a plus though. Note that the “new” Microsoft font are included in the freely available XML converter for Mac.
Keith Carangelo
18 May 2009 at 12:36 pm
Nice article. On windows, I use Lucida Sans Typewriter for dark terminal windows. For gvim (my main editor) I’m still using Fixedsys <shudder>. Consolas seems too light to me, unless you choose bold, which it appears you’ve done. But then you lose some syntax highlighting.
Yoram Blumenberg
18 May 2009 at 12:54 pm
@ Wes
Thanks for the tip w/ the “Open XML File Format Converter for Mac 1.0.2” — I just looked into the attached license:
= You can use the fonts as long as you have Office for Mac installed/running — maybe the “test drive” version is acceptable? ;)
Btw. you can easily extract the fonts w/ Pacifist (this way you don’t have to install the full Open XML Converter …).
@ Joseph McLaughlin
Espresso is coming w/ a renamed (and slightly altered) version of DejaVu called “Espresso Mono” — and DejaVu was published w/ following license:
= therefore: you can use the “Espresso Mono” w/o any “ethical” questions.
Photar
18 May 2009 at 1:35 pm
So what settings do you use Inconsolata with 15pt antialiasing on?
me
18 May 2009 at 2:56 pm
How to turn off antialiasing in Eclipse:
http://twitter.com/manide/status/1738444816
Matt Thomas
18 May 2009 at 3:17 pm
I prefer Deja Vu Sans Mono to Inconsolata because the font itself has support for bold and italic variations. While some text editors can fake bold and italics, Xcode doesn’t.
Adam Backstrom
18 May 2009 at 3:24 pm
I love me some Consolas. Like you said, though: wish it were a free font.
David E. Wheeler
18 May 2009 at 3:41 pm
Another font I’ve used in the past is “Bitsream Vera Sans Mono”:http://www.dafont.com/bitstream-vera-mono.font.
—Theory
Sufian
18 May 2009 at 4:10 pm
Having used most of the fonts mentioned here, I personally prefer Bitstream Versa Sans Mono.
smoove
18 May 2009 at 4:34 pm
I use Envy Code R, i love that font for programming
Travis Cripps
18 May 2009 at 5:48 pm
I agree with your choice of Inconsolata as #1. I think it’s a great, easy-on-the-eyes font. I appreciate learning about some other very nice fonts. I could happily use any of the #4-#1 fonts. :)
Peter Cooper
18 May 2009 at 6:08 pm
Man, I can’t believe Liberation Mono doesn’t even make the list :) A couple of screenshots.
david
18 May 2009 at 6:09 pm
I use Inconsolata all the time. The quotes bugged me though, so a while back, I modified them slightly to be less curly:
http://nodnod.net/2009/feb/12/adding-straight-single-and-double-quotes-inconsola/
Tim Lahey
18 May 2009 at 6:15 pm
I’ve tried all of these at one point (including most mentioned in the comments like Liberation Mono, Anonymous, Envy Code R, and Droid Sans). I always seem to come back to Deja Vu Sans Mono. I couldn’t stand Consolas, but I don’t mind Inconsolata, but I find it a bit cramped. Monofur is an interesting font, but I find it too distracting to use as my main font.
Envy Code R I found to be a decent monospace font and it’s one of my favourites. I’ve tried Panic Sans, but I prefer the Deja Vu version.
I know I converted at least one person to the use of Deja Vu Sans Mono in TextMate via Twitter after they complained about Monaco.
jwfrancis
18 May 2009 at 6:45 pm
Why the obsession with monospaced fonts for programming? Seriously? I’ve been using variable width fonts for years now, Verdana I think currently, and I can’t say I miss monospaced fonts at all. Indentation (with spaces or tabs, whatever you fancy) will always be consistent either way. So unless you’re obsessed (as I used to be) with neatly lined up comments to the right of your code etc. I don’t see the point.
Sam Kelly
18 May 2009 at 6:48 pm
I absolutely love Consolas, I use it in a couple of text editors and for <code> on my blog, it’s especially useful because it supports bold and italic styles wonderfuly.
I also use Pragmata on and off, it’s beautiful with anti-aliasing and without, but it lacks italic and bold styles.
Hamranhansenhansen
18 May 2009 at 6:49 pm
I use 14pt Monaco in BBEdit on a Mac. It’s just so ridiculously readable that the only work I have to do is the actual writing. The letterforms feel solid and real and they are completely unambiguous.
My observation is that no matter what font you use, most programmers set the size way too small. Try setting the font size to 14pt and you will feel closer to your code. You’ll be able to tell more easily if that is one space or 2, or if that’s a 1 or an l.
In Script Editor on the Mac, you write code in a monospace font, but when you compile it, the compiled version is shown in proportional typeface. This works really well for AppleScript, where the compiled code is represented as readable text so you want a way to show the user that their code compiled.
David V.
18 May 2009 at 7:28 pm
I’m not very picky on my fonts, but I do want 1 (one) to look sufficiently different from l (ell). Same with 0 (zero) and O (oh). That means Courier, Profont, Droid, and Consolas are out. Any of the other ones would be fine, I think.
matt
18 May 2009 at 7:31 pm
The screengrab of Deja Vu Sans Mono (my choice of prog font) does not have the correct syntax highlighting. Otherwise, great list.
Darrin Chandler
18 May 2009 at 7:33 pm
My preferred font is Terminus which is very clean and easy on the eyes, even at small sizes.
Zach
18 May 2009 at 7:40 pm
With the exception of Monaco, I can’t find any of these fonts that look good with a white-on-black color scheme. The basic problem is that they all seem to use much thicker lines when rendering white letters as opposed to black letters. What’s up with that?
St. Chris
18 May 2009 at 7:49 pm
Great list, Dan. This is the first place I’ve seen Inconsolata. At first glance, it looked like a sans-serif Courier, with serifs only where they’re truly needed. Since I’ve been a fan of Courier for coding since the all-aliased days, I’m going to give Inconsolata a try. Very friendly and human. Love the lowercase “f”.
Gonna give Monofur a spin, too. Yeah, looks like Solaris! Wow, that throws me back to the basement of Hill Center at Rutgers. (‘Course, that basement is where I first got my hands on a Mac.)
Matt
18 May 2009 at 8:04 pm
I finally fell on Droid Sans Mono as my programming/source font. However I agree that the lack of a distinct zero is a problem. I created a dotted zero version to rectify the problem. You can get it here: http://matt.freels.name/2009/droid-custom.html
Holland
18 May 2009 at 8:15 pm
Is there a reason the uppercase samples end “YXZ”? Is it an inside joke that I don’t get?
That aside, I use Andale mono, 13pt with 85% character spacing. Gray on dark blue color scheme.
Of course my favorite font of all time is b from my Linux console days.
hawkman
18 May 2009 at 8:30 pm
Maybe you’ll consider me a luddite, but I’ve tried a few of these and nothing compares to Monaco’s readability for me. There’s something extremely relaxing about it (and yes, that’s partly familiarity); aliased Monaco 10pt ftw.
What’s with the bizarre lowercase “l"s in Deja Vu Sans Mono and Monofur anyway? I can see what they’re trying to do, but it’s so far from a traditional shape that it’s jarring to me. Inconsolata looks like a fantastic display font for code, so thanks for the tip; yet it has to be too big onscreen before it’s truly readable for coding – maybe everyone else sits further back from a giant monitor than I do?
Grega
18 May 2009 at 8:32 pm
Every now and then I come across an article or a blog entry listing great developer fonts. And I try them out. And I love quite a bit of them when using them black on white, but none of anti-aliased fonts work well white on black and so I always keep coming back to non-aliased Monaco, which is just an amazing font.
Does anyone have better experience with anti-aliased white-on-black fonts?
Gordon Mei
18 May 2009 at 8:36 pm
I respectfully disagree with the statement that Monaco doesn’t work well over 9/10pt. I use Monaco at 13pt with anti-aliasing in Terminal.app with the Pro color scheme (white on black), and I find that Monaco is one of the few monospace typefaces that work well in high contrast. I also use it 13pt/anti-aliasing regularly in Coda (inverted colors) and TextMate, also both in high contrast.
On the other end, I use Monaco at 14pt with anti-aliasing in TextEdit (black on white), and I find the text very crisp.
This is all using 1440x900 resolution and 1920x1200 resolution.
Dan Esparza
18 May 2009 at 8:45 pm
Maybe I’m missing something, but I believe Consolas is a free download from Microsoft’s site:
http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=22E69AE4-7E40-4807-8A86-B3D36FAB68D3&displaylang=en
dvessel
18 May 2009 at 9:40 pm
This is incorrect. I use ProFontX with TextMate and it looks horrible with anti-aliasing turned off.
Wes
18 May 2009 at 9:43 pm
@Dan Esparza That installer requires Windows and won’t install unless Visual Studio is present.
Dan Benjamin
18 May 2009 at 10:07 pm
Keep the font suggestions coming - I’m taking notes!
@Dan Esparza - Unfortunately, that’s not the case. On the page you linked to, this: “This package is only intended for licensed users of Microsoft Visual Studio 2005 or 2008.”
@dvessel - My screenshot above was taken with TextMate. I’m not sure why we’re seeing different results.
Chris Bailey
18 May 2009 at 10:11 pm
+1 for Panic Sans, great coding font. I’ve tried all the ones you listed, and used many of them for many years (ProFont “back in the day” was the ticket :) Anyway, try out Panic Sans, as said from the Coda product.
Chris Bailey
18 May 2009 at 10:20 pm
What I forgot to mention… Panic Sans, at 14 pt (a listed size in the font picker) looks great on my monitors (YMMV), that and kind of a nitpick, but the quotes are straight, not curved as compared to Inconsolata (which is fairly small in 14pt, needs to be 16, which isn’t a listed size (not that you can’t use the slider to set it to that)). The quotes, being curly in Inconsolata throws me off sometimes, because not being used to it, they look like the right and left specific curly quotes (which are more of a special character, and thus not what you want to see in code as you might think it’s wrong, etc, etc.). Small gripes, but on my monitor, 14pt Panic Sans looks more crisp and better than Inconsolata at 16pt (equiv size IMHO).
Justin Hileman
18 May 2009 at 10:39 pm
@Grega I was in the same boat until I tried Inconsolata. I’ve been using it for quite a while now, and I really like it at 14pt anti-aliased on black or white. It’s pretty awful without anti-aliasing though :)
Stripes
18 May 2009 at 11:09 pm
The Anonymous font looks pretty interesting, I’m going to give it a spin.
Is there a bold version of it somewhere?
Steve
18 May 2009 at 11:59 pm
BBEdit 9.x ships with a version of Consolas called “Consolas for BBEdit”. Not sure what is different.
Thanks for pointing on Inconsolata, I am trying it now. Very pleasant, but I have to go up one point size from Consolas.
Pragmata looks interesting but $100 costs more than my text editor itself.
Tonio Loewald
19 May 2009 at 12:19 am
I can’t see how any font without a slashed zero could rank above Monaco (which, by the way, dates back to System 1.0—as do all the “city” fonts—New York, Geneva, Cairo, Chicago etc.). The Monaco Truetype variant—which has a slashed zero (the bitmaps don’t) dates to 6.0.7 (the version of System 6 which had Truetype and QuickTime support).
Inconsolata looks very nice, I’ll try it. And I do like Consolas.
You seem to want your letters bunched up more than I do—perhaps that’s why you prefer several fonts over Monaco.
Jorge Diaz Tambley
19 May 2009 at 12:22 am
I only read this articles for the slight chance that I find a font better than Dina…. so far it’s still the best IMHO
regards
Daniel Stockman
19 May 2009 at 12:37 am
I love Consolas at 13pt anti-aliased in TextMate, but only after I fixed the line-height:
http://gist.github.com/79238
CB
19 May 2009 at 1:20 am
I’m in the same boat as Grega.
I’ve tried many times to use anti-aliased fonts, but they look too bold and blurry if you code with light text on dark background (in TextMate anyway).
I always go back to Monaco 10pt aliased.
Peter S.
19 May 2009 at 3:08 am
Consolas, along with other ‘C’ Vista fonts, is included in Powerpoint Viewer 2007. It installs under wine very nicely. So, I suppose Consolas isn’t free, but at least it won’t cost you anything.
James Deaton
19 May 2009 at 3:35 am
I’m somewhat surprised only one mention of Terminus earlier in the comments. I made the switch a while back and it’s probably the first thing I add to any system I’m on. In addition to the homepage of the font provided earlier (http://www.is-vn.bg/hamster/), the link you want for Mac is: http://jeramey.livejournal.com/124733.html
It’s definitely not beautiful to look at but I’ve found it so much simpler to read after hours of work than anything else to date. I also love not having to depend on anti-aliasing.
Ian Goss
19 May 2009 at 5:28 am
Please learn the difference between “it’s” and “its”. It’s really simple, and leads to better quality writing.
Mladen Jablanović
19 May 2009 at 6:29 am
Great article. However I wouldn’t agree with you on antialiasing topic, in my opinion mostly all the screenshots you have posted here with big antialiased fonts look terrible (especially your #1, Inconsolata: take a look at lowercase u, for example, to see how the left and right side differ), I find AA fonts really hard to use and always opt for crispness of old-school ones.
Also, you made a great selection of fonts, but I would certainly add here Lucida Console (which is not so great, but ships with Java) and Terminus (not really common, but definitely worth installing and my favourite so far).
Michael Janneck
19 May 2009 at 7:02 am
Have you noticed that most applications disagree on the line spacing for most fonts? If you choose Consolas 12pt, e.g., the line spacing in the Terminal, Textmate and Subethaedit are all noticeably different. This is not the case with Monaco. Any idea why this is? Any idea how to change it? I can change line spacing in the Terminal but this will lead to some ugly artifacts (try yourself and set line spacing to 0.75).
I like some of the fonts you presented better than Monaco but my eyes like the same line spacing in all my apps.
k42b3
19 May 2009 at 7:09 am
Good article. Iam the only developer who uses “Courier New” at font-size 10 ? From my point of view its the best font for programming to this I must say because Iam very happy with “Courier New” I didnt tried any other font.
Ryan
19 May 2009 at 7:47 am
Consolas is my #1 (best move Microsoft has made in years), it will re-inspire your work it is so nice. Also set strings and numerics to highlighted with a light yellow. I will try out Incolsolata, thanks for the list.
Balaji Dutt
19 May 2009 at 9:16 am
I’m surprised that no one has mentioned Akkurat Mono so far. Beautiful anti-aliased and entirely readable even at 10 point:
http://www.lineto.com/img/samples/476_0_cm.gif
Balaji Dutt
19 May 2009 at 9:18 am
Well that attempt at some “fancy” HTML didn’t work so well :(
Font link - http://www.lineto.com/The Fonts/Font Categories/Text Fonts/Akkurat Mono/
Character Map - http://www.lineto.com/img/samples/476_0_cm.gif
Sandra Snan
19 May 2009 at 11:34 am
I actually use DejaVu Serif (i.e. proportional) even for programming. I have it set to be pretty big, too! (Point sizes vary according to screen DPI.) DejaVu Mono is nice, even though I prefer Serif, but I hate DejaVu Sans with a passion.
venizio krups
19 May 2009 at 11:36 am
inconsolata looks great, but not the best hinting around. Envy R, and droid sans mono do a better job here.
good article.
dexen deVries
19 May 2009 at 11:43 am
Why do I see only monospaced fonts on the list?
For daily programming, a well-kerned proportional font is as good as it gets. Unless you are particular to aligning more than just starts of the lines, that is…
Currently using DejaVu Sans, rendered at 14 DPI.
Bohdan Ganicky
19 May 2009 at 11:44 am
My favourite font is Terminus (was mentioned in some of the previous comments as well) combined with Tango colorscheme. Screenshot here:
http://picasaweb.google.com/lh/photo/t0jKLsltJ7lQPp8eSwVkig?feat=directlink
Lloeki
19 May 2009 at 11:51 am
Indeed, it is sad that Terminus does not get a mention, and so few comments, I have never found a monospace font as easily readable as that one, at any size. It is a true relief. I have tried alternatives, including the reference Inconsolata, many times, but just keep coming back to Terminus.
Christoph Freitag
19 May 2009 at 12:48 pm
Lucida Sans Typewriter has the advantage of being similar to the other Lucida Types, notably Lucida Sans Unicode. The latter is used on the web quite extensively (being a “core font” that MS introduced and gave away for free formerly). I use it for many normal, non-monospaced texts. This familiarity of fonts is quite nice, I find.
Ron Domingue
19 May 2009 at 1:05 pm
Dan, I actually wrote something similar about fonts for coding a few months ago and i couldn’t agree more about Inconsolata my only added touch is I love working in TextMate with Twilight theme.
Curious why you didn’t mention Anonymous? I know Mark Simonson is working on a pro version that looks to be awesome.
http://rondomingue.com/2009/02/19/fonts_code/
Fergus
19 May 2009 at 2:00 pm
Since switch to Linux (from Mac), I’ve fallen for SGI Screen without anti-aliasing. A gem; crisp, highly decipherable.
Dominic Evans
19 May 2009 at 2:45 pm
Now I’m using these suggestions for my monospace family for coding, I’d be quite interested in seeing a similar article with top 10 font choices for the other generic families (i.e., sans-serif and serif)
Gordon
19 May 2009 at 3:20 pm
I also confuse the lowercase L (l) with the one (1) in Consolas, but not so much with Monaco because of the way the serifs are done.
St. Chris
19 May 2009 at 3:20 pm
@Ian Goss: You forgot to hyphenate “better-quality.”
Also, the comma isn’t needed. Nor is “really.” Nor “quality,” for that matter.
Aaron Priven
19 May 2009 at 4:26 pm
Add one to the Lucida Console fan club. I guess I use bigger type than many (the bigger screen helps), but Lucida Console at 16 point on the Mac (or 12 point on 96 dpi Windows—whatever happened to resolution independence???), non-antialiased, looks really good to me, better than any of the antialiased fonts (which look fuzzy).
Bob Carpenter
19 May 2009 at 4:57 pm
Thanks for all the screen shots. I still like Lucida Console without anti-aliasing at small sizes.
I pasted up some side-by-side screenshots of Lucida Console without anti-aliasing next to the Inconsolata shots from this blog post at:
Lucida Console is my Font
John
19 May 2009 at 5:02 pm
I prefer a dot in the center of the zero, as opposed to a slash.
Got used to it on some glass TTY and it stuck.
Denny
19 May 2009 at 5:32 pm
The best font I have ever used is Bitstream Vera Sans Mono
Mike
19 May 2009 at 6:17 pm
I like to code using Comic Sans as my main font, not because I like it…but because I really love annoying the designer who works next to me.
PhiLho
19 May 2009 at 6:57 pm
Good article with samples.
I am not sure what you have against Andale Mono. I still use it whenever I use fixed width font, even after trying many other fonts after reading articles like your.
I can’t get used to anti-aliased fonts. I prefer the crisp look of “raw” fonts. Inconsolata isn’t bad (although I had the 1.009 version with 1 looking like l, your screenshot shown it was updated to 1.010 where they are better distinguished) but looks too bold for me, because of the AA.
For some reason, on my Windows XP, monofur is italics. Perhaps a problem of font definition.
That’s nice to have choice, you can’t please everybody, obviously. :-)
roselan
19 May 2009 at 7:31 pm
fixedsys FTW \o/
Oh wait, I didn’t touch a line of code in 6 months OMG OMG OMG
all these font have 1 or 2 little defects, and after while I grow to see only them and hate the font. Fixedsys has to many of them for one to stand out, and it’s *sharp*
satish
20 May 2009 at 9:00 am
+1 for Dina !
And even Courier New… I never liked lucida or vera family of fonts.
Proggie
20 May 2009 at 5:41 pm
See also this programmer font : http://bok.net/MonteCarlo/
Brian
20 May 2009 at 6:03 pm
I sampled a few of them and ended up going back to Monaco for now. Something that bugs me about some sans-serif fonts is the serif-style lowercase “g” with a link & loop. It’s one of the only things that bugs me about Inconsolata. Of course, I installed and tried out Deja Vu, but it seems to handle bolding rather poorly at 12 pt.
Sean Cannon
20 May 2009 at 6:11 pm
Great list, I have downloaded and switched to Inconsolata and I absolutely love it! :)
St. Chris
21 May 2009 at 5:57 pm
After countless years using Courier, I’ve now had my editor set to 13-point Inconsolata for a few days now. It’s clear, unobtrusive, and friendly. The letterforms are unaffected—none of the them irritates me, and some are refreshing, like the lowercase “g”. (Yeah, I’m a typeface geek, too.) Thanks again!
Lachlan O'Dea
21 May 2009 at 10:54 pm
I love Inconsolata in Terminal or for viewing logs with the Mac’s Console utility. But for my IDE, I prefer Consolas as it has bold and italic styles, which really help highlight different elements of the code.
Nick Tidey
22 May 2009 at 3:05 am
Thanks for this write-up. I’ve looked at all of the above fonts previously and had been using 12pt Monaco. Your post encouraged me to take another look at Inconsolata and I’ve found, after adjusting to the change, that I prefer it to Monaco.
I also really like Droid Sans Mono but the lack of a marker on the zero is a killer.
Joachim Bondo
22 May 2009 at 5:27 am
I’ll give Inconsolata a try, although I have a hard time seeing it could possibly surpass my beloved TheSansMono Condensed by LucasFonts, http://www.lucasfonts.com/fonts/thesansmono/thesansmono-condensed/. Not only does this font look fantastic, it’s condensed which means shorter code lines.
DN
23 May 2009 at 8:16 am
So I installed Inconsolata, but EditPad Pro will only display it bold for some reason. Anyone else run into this?
DN
23 May 2009 at 8:40 am
@Eddie Welker - Thanks for the tip towards Dina. Beautifully spare and functional! And glyphs that tend to get squished/minimized in even some of the above fonts are nice and readable (notably # . - )
cheapRoc
27 May 2009 at 10:39 am
Has anyone else noticed that Panic Sans is really just Bit Vera Sans Mono in disguise? The only difference I can remember is the underline character. That’s a pretty gross misrepresentation if true.
I’ve recently setup Consolas in both Terminal and Emacs.app. Previously I really enjoyed Inconsolata.
goof
30 May 2009 at 5:54 pm
No offense, but your top two look awful in terminal.app (anti-aliased or otherwise). It’s back to Deja Vu Sans Mono without anti-aliasing. Haven’t tried TM yet.
Tony Dunsworth
03 June 2009 at 1:41 pm
Personally, I use Droid Sans Mono. I can tell the difference between the o and the 0 pretty easily even when staring at code for hours, but Inconsolata comes a close second.
nokk
05 June 2009 at 2:27 am
Nice article, although I was disappointed seeing that the Terminus font wasn’t mentioned. It’s an amazing font, with an original look and especially suited to high-DPI screens without antialiasing.
I wear glasses and like my fonts to be BIG (most people would describe the sizes I use as “huge”). However I want my fonts to be clearly defined, too. So I’m using antialiasing but only combined with heavy hinting. Fortunately, the FreeType implementation of hinting is very good and the result is really crispy fonts, with nice, rounded corners but high-contrast and very clear edges (Yes, I’m a linux user). I’ve found that Lucida Console, the all-time classic Windows monospace font, looks great with such settings (large size + antialiasing + maximum hinting of FreeType). In fact I prefer it compared to the Windows rendering of Lucida.
Some of my favorite fonts also include Andale Mono (good without antialiasing :), Bitstream Vera Sans Mono (or DejaVu Mono, which is almost the same) and Luxi Mono. In fact I’ve only discovered Luxi Mono recently, be sure to check it out! It’s a nice serif font best used with antialiasing.
(I prefer sans-serif fonts myself, but Luxi is MUCH better than Courier New if you like serif fonts.)
Terminus is especially good when working against a dark background, such as the linux framebuffer console (yes, the fonts there are adjustable!). It has both a bitmap version and a truetype version.
I didn’t like your screenshots, almost no hinting there and this hurts the readability A LOT. I suppose you are a Windows user; at least the rendering is very Windows-like. Poor Windows users have to turn off antialiasing when they want their fonts to be crisp! :)
PS1. A hint: If you have a really good TFT (like my Eizo) you should turn off sub-pixel rendering; it creates visible color artifacts which strain the eyes without improving the situation that much. I believe that it’s worse for your eyes after 12-hour sessions, but that’s subjective.
PS2. English is not my native language, sorry for the (potential) mistakes. :)
PS3. I’ve uploaded a screenshot of this web-page as it is currently rendered by my browser (Firefox), a bit edited with the GIMP. Have a look at my fonts: http://i43.tinypic.com/2efj7mg.png
zafrense
05 June 2009 at 4:40 pm
Consolas might not be a free font but it is available for free download with the MS PowerPoint 2007 Viewer. See http://www.oooninja.com/2008/01/calibri-linux-vista-fonts-download.html for links & instructions, including legal limitations. (The install method for Linux works on Mac too apparently - install macports, run ‘sudo port install cabextract’, extract the PowerPointViewer.exe and the enclosed .cab file to a tempdir. Then you can open the TTF files and install them.)
Haruhiko Okumura
07 June 2009 at 5:08 am
Strange nobody mentioned Knuth’s classic Computer Modern Typewriter Type.
An OpenType version is available for the improved Latin Modern families at
http://ctan.org/tex-archive/fonts/lm/fonts/opentype/public/lm/
Try lmmono10.otf and variations.
Mark
07 June 2009 at 3:41 pm
I have to disagree about Inconsolata. I’ve been using it for a day now. Punctuation, especially the em dash really screws up line-spacing. It’ll turn singlespaced lines to somewhere between 1.3x and 1.5x in the line with the em dash and all following lines.
Extremely disorienting. Back to Monaco.
adwin
08 June 2009 at 1:30 am
I suggest to use Segoe UI :) nice and clear font.
but in VIM i cannot use it :( [still using fixedsys]
BMP
08 June 2009 at 3:17 am
I use the Proggy set, which I find the most legible and space saving on screen. Crisp and tight!
Alexis
11 June 2009 at 12:53 am
Glad you included ProFont, it’s my fave on Windows.
But still the default Monaco on Mac.
Anthony Starks
12 June 2009 at 4:17 am
Here is a comparison of the monospaced fonts on my system:
Black and White: http://www.flickr.com/photos/ajstarks/3618903870/sizes/o/
Green and White: http://www.flickr.com/photos/ajstarks/3618067573/sizes/o/
The fonts:
AmericanTypewriter
Andale Mono
Bitstream VeraSans Mono-Roman
Consolas
Courier
CourierNewPSMT
Droid Sans Mono
Inconsolata
Lucida Sans-Typewriter
Monaco
James Harkins
22 June 2009 at 1:50 am
I hear monospace is important to align bits of code etc but…
I’ve been programming in supercollider using a *gasp* proportionally spaced font—for a couple of years now—and I find I get all the alignment I need using the tab key, instead of spaces.
The legibility of proportionally-spaced characters is much more important to me than a historical attachment to monospacing.
*ducks*
mk2
22 June 2009 at 6:27 pm
Mark Simonson have just released Anonymous Pro recently.
http://www.ms-studio.com/FontSales/anonymouspro.html
fatjoez
28 June 2009 at 11:20 pm
thanks for this.
andale mono didn’t come up in my editor as mono properly.
im using dejavu mono now and its awesome!
the website guy
10 July 2009 at 5:29 pm
as long as the font allows for tidy code thats all that really matters… if you can make things easier on the eyes by selecting a visually appealing font, then thats all the better.
Alejandro Barcena
14 July 2009 at 2:37 am
Thank you, I didn’t know about the existence of Inconsolata… it’s now my default font for everything. =)
Gian
15 July 2009 at 1:18 pm
Nice compilation. Profont and Monofur are new for me.. Great post!
Prassana
18 July 2009 at 4:04 pm
I prefer Inconsolata to Monaco. I’ve spent countless hours with Andale Mono and Bitstream Vera Sans Mono but this one is great.
Bradford
21 July 2009 at 9:39 pm
Odd…my favorite programming font has only been mentioned once in this entire discussion. Luxi Mono is a serif monospaced font created by Bigelow and Holmes, the designers of the Lucida fonts. I tweaked a copy in Font Forge years ago (added a diamond in the center of the zero to distinguish it from capital O) and have used it ever since.
I’m not sure I would describe Luxi Mono as either crisp or clear really, but for some reason, it is much easier for me to read than the other fonts mentioned when working with large blocks of monospaced text for prolonged periods.
iconz113
06 August 2009 at 5:32 am
If anyone wants consolas here it is by itself http://tiny.cc/059qU
Shaunak De
07 August 2009 at 2:24 pm
Great post. I found a whole range of new fonts.
My favourite programming font however remains to be Liberation Mono.
RWB
07 August 2009 at 3:58 pm
All I want is an OTF/TTF/PS version of the original IBM 3278 terminal. The only decent ones that I have found are bitmap fonts embedded in really old terminal emulation software and are not really suitable for modern system and display resolutions.
Anyone else out there looking for something like this two?
RB
marica
04 September 2009 at 9:10 am
Comparing my XTerm with default and free -misc-fixed-medium-r-semicondensed-*-13- font, Profont comes close. But I can’t understand how anybody can work with other blobs? My theory is you must be half blind to tolerate these bluring technologies, but I guess I’ll never know. Lucky me :)
flying sheep
15 September 2009 at 9:47 am
Envy Code R is totally missing from this list.
http://barelyenough.org/blog/2008/07/envy-code-r/
very pretty, actually.
i just don’t really like the too-curly {} braces