This article was written in 2009 and remains one of our most popular posts. If you’re keen to learn more about fonts, you may find this recent article on IcoMoon of great interest.
Many programmers are passionate about their text editor. They will spend longer choosing the optimum font and color scheme than they would decorating their house. An editing font is a very personal choice and, given the hours spent at the screen, it needs to be something the programmer is comfortable with. There are no hard and fast rules, but:
- bitmap/raster fonts tend to render better on screen
- monospace fonts normally offer better character identification, but
- proportional fonts take less screen space and can be a little easier on the eye.
(Tip for SciTE users: press Ctrl+F11 to toggle between a proportional and monospace font. I wish more editors offered that facility.)
Here is a list of great programmer fonts for those of you who steadfastly refuse to believe in anything beyond Courier New. All but one of the examples use 10-point text, but they may look better at other sizes.
One of core Windows fonts, Arial is often overlooked, but it is a clear and readable typeface. It can be a little difficult to distinguish between uppercase i / lowercase L and nested single/double quotes but that can be said of many proportional fonts. Most systems have it installed, but Arial is also available from SourceForge.
2. Bitstream Vera Sans
Bitstream Vera is a free font developed for the GNOME project but is available on other platforms (download Bitstream Vera).
It is a great-looking typeface and, personally, I prefer it to…
3. Bitstream Vera Sans Mono
This is a monospaced version of Bitstream Vera Sans which many programmers will prefer. I find it a little wide, but characters are certainly easier to identify. It is available in the Bitstream Vera Sans download above.
As an alternative, you might prefer DejaVu Sans Mono; it is based on Bitstream Vera but offers a wider range of characters (download DejaVu).
Consolas is a relatively new Microsoft font that is installed in Vista or available as a separate download. It is a very clear and compact monospace font and is being used by more developers.
Dina is my favorite monospace font and, for clarity, it is hard to beat (download Dina). It is available in 8, 9 and 10-point text sizes and looks great on any system.
6. Lucida Console
Microsoft likes Lucida Console: it is the font of choice for Notepad and the Blue Screen of Death! It reminds me of a sans-serif version of Courier New, but certainly looks better.
7. Lucida Sans
If Lucida Console is a little too chunky for your tastes, try Lucida Sans. The font has been provided with Microsoft Windows and Office for many years and is a compact, practical font that looks very attractive.
Monaco started life on the Mac and is one of the more popular fonts on that platform. I find it a little too fancy on Windows but many developers will disagree.
9. MS Sans Serif
Perhaps this is slightly controversial, but it is my default font of choice. MS Sans Serif was introduced in Windows 1.0 and used to be known as “Helv”. It was the default Microsoft system font until they replaced it with Tahoma in Windows 2000. The font was also used in the early MS Office VBA environment and that was where I became overly familiar with it!
The font is similar to Arial and suffers from the same issues, but I find it a little clearer. Although I have tried to move away from MS Sans Serif on several occasions, I always eventually return.
10. Proggy fonts
The Proggy collection contains small monospace bitmap fonts that maximize the amount of code you can view on-screen (download Proggy). It has been designed for programmers so it does not exhibit the character problems of other fonts. For Notepad fans, there is also a version that provides bold punctuation and brackets within the font itself.
Have I listed or missed your programming font of choice? Do you insist on programming in 6pt Wingdings? All comments welcome!
Comments on this article are closed. Have a question about Programming? Why not ask it on our forums?