Berkeley Mono, Iosevka, and Cascadia Code are missing which are my favorite fonts. The game handed me Roboto Mono instead.
What I noticed while playing was that when fonts are similar, I really pay attention to the rendering of "m" and "r". When they look off, the whole font looks off to me.
It's really funny that after going through all those fonts it landed on Ubuntu Mono for me which is what I use anyways to code in my terminal.
I wonder if it's Stockholm syndrome or if I really do prefer it. It's a totally fine font, I've never felt the need to change it. All the default open source mono fonts seem completely adequate I suppose.
Knowing that everything in here is people asking why their font is missing:
I highly recommend having a look at
[ MAPLE MONO ]
(on Github https://github.com/subframe7536/Maple-font).
It has amazing readability, looks nice, is compatible with NF if you use that.
I received compliments from people looking over my shoulder for my f'ing font?!
Huge shoutout to subframe7536 ^^
I was intrigued by a font called Codemonkey. This site has lots of classic comic fonts, including WildWords which is used in pretty much every manga translation.
similar situation here, but i used it because i thought it was funny... then kept it because it grew on me haha. had it for a few years, might give it a spin again
Yeah, a few years ago I tried the free ones, but eventually settled on Comic Code. I've been using it ever since - it's pleasant to code with. (If anyone is considering this - the "essentials" set with bold/italic is around $30. You don't need the full set.)
I clicked this link with the thought "I'm curious, but I don't think I really have strong opinions about fonts", and was almost immediately proven wrong with the revulsion I felt at Xanh Mono.
Though it turns out that VS Code default (Droid Sans Mono) is (to my eye) basically identical to my winner (Roboto Mono), so the exercise was mostly academic.
Cool, obviously a lot of people are going to quibble about the default lineup (wheres Iosevka?) but for anyone who hasn't nailed down a preference it seems great!
Nowadays I use a lot of Iosevka. Previously I was on Ubuntu and JetBrains Mono, both are great fonts. A bit of PT Mono as well, even Terminus for a bit. One of my favorites has got to be Liberation Mono though - the most readable font I’ve ever found, even if Iosevka lets me put more stuff on screen horizontally. Oh also I’ve started enjoying Cascadia Code recently, surprisingly pleasant.
Yeah I was disappointed that Cascadia was not in the fonts on the site. What won me over for Cascadia was: I decided to try it for a couple weeks. By the end, I was certain that Cascadia must be larger than my previous font because it was so much easier to read, so I opened two terminals side-by-side and counted the rows+columns that fit between my old font and Cascadia. To my complete shock, Cascadia fit a couple more lines on my screen, indicating that it was actually _smaller_ despite being easier to read.
Nice concept. One thing font comparison tools usually miss is how well the font handles non-Latin scripts — if you're working on i18n code with mixed CJK/Cyrillic/Arabic in string literals, many popular coding fonts fall apart. JetBrains Mono and Iosevka handle this reasonably well, but most others default to system fallbacks that break the visual alignment.
The font I use, IBM Plex Mono, I chose not because I love the font, but because it's the one I love most of the fonts with CJK variants (which basically means IBM Plex, Google Noto, or Adobe Source). It's unfortunate because I really like Libertinus (a rare serif monospace font), but trying to match different non-CJK and CJK fonts that work well together is annoying.
For me it's Berkeley Mono...I was unable to find anything that comes close to it. But this games is fun and the result is a font that is similar to my favourite
Lately I've taken to Iosevka, the 'curly' variant to be precise. Even though I hated it when I first tried it, I revisited it because I was noticing that, with coding agents running in the same window, I wanted to be able to see more at a glance. With Iosevka's semi-width glyphs you can just fit a lot more in the same space. Took a day or two to get used to its slender appearance. Now every other font feels unnecessarily w i d e
I got PT Mono in the game, but this gave me the kick I needed to remember about ProggyClean[1] and track it down. Used to love it many years ago, time to give it another spin and see if it holds its own.
As I get older I prefer the text on my screen to be bigger than usual. Most websites tend to have super small fonts for some reason.
For coding I much prefer fonts that are bold and easier to read. Who actually likes these whimsical cursive looking comments or super thin looking fonts?
Not entirely. The font "size" is the height of each character, not the width they take up or the stroke thickness. So some fonts will have narrow characters & display more characters horizontally than fonts with wider characters.
I stopped looking for fonts after I got comfortable tweaking the metric settings of Iosevka. My current setup exports a set of really compressed cuts (more compressed than Pragmata Pro) which I've always found hard to come by.
Neat educational game. Would have liked to see Maple Mono in the line up, but I'm sure you've gotta draw the line somewhere or the game would be too tedious.
A few years ago I found comic mono and monofur for Powerline. I switch between the 2 when I get bored of one or the other. I decided I won't try any new fonts, it's a waste of time for me and I hate having too many options to choose from, not only fonts but basically everything else too, it's distracting. Same for my editor's theme, I switch between Braver's Solarized Light and Radical.
This way I can focus on coding and less on tweaking my environment.
> This way I can focus on coding and less on tweaking my environment.
I made myself my own pixel-perfect perfect font, more than 10 years ago. I simply copy it from one system to the next one when I upgrade (either the machine or the OS).
It's basically a modified pixel-perfect Terminus font, but with some elements mixed from an old pixel-perfect Monaco font and some modification of mine.
Something I cannot live without is a tall pipe symbol. And my pipe symbol must have a hole in it in the middle (and it cannot be mistaken for an exclamation mark).
I've got the following as a quick test. The reason for a,b,c,e is to verify that <>,{},[], etc. all perfectly align vertically.
Everything is correct, to the pixel.
I don't believe in anti-aliasing for a coding font, not even on a retina display, and I love my 3840x1600 pixels 38" monitor and it's pixel size is perfect to me.
RA $|-sSTtf the little fortran
gqy z2Z s5S 8B CG6 DO uv ;; these should look different (8 / B is difficult to get right)
a!?aA! [a]
b!?b {b}
c?!d (c)
c?c <e>
c!c
if ( a && b || c & d) { [0x88, 0x42, 0xFA, 0xdeadcafebabe]; }
*if ( a && b || c & d) { [0x88, 0x42, 0xFA, 0xdeadcafebabe]; }*
;; found somewhere
lnt foob1x -= {(0)} "'foo'bar";
int foOblx == ((0)) 'foo`bar`' `"':
|nt f0obIx += {{o}} '"O08! LIl1i!!| 7?
the lowercase 's' has a shorter upper bar and the lowercase 'l' is stylised.
The thing is: I obsessed for days, creating my own pixel-perfect font. And I don't need to tweak it anymore: it's perfect (to me, YMMV) and I use it ever since.
Can't share it as I reused both Terminus and chars from Monaco.
FWIW I had more than 10/10 eyesight (once you get at 10, there are additional tests) and in my entire life I've never seen one person beat me at the "read sign on the highway". Pixel-perfect font, no AA, custom made font for me. YMMV. Haters gonna hate.
I'm probably your twin, separated at birth... may you share your bitmap font?
> I don't believe in anti-aliasing for a coding font, not even on a retina display
This is a very good point. As resolution increases, antialiased fonts become less ugly, but also less necessary. Thus at no resolution they make any sense; but they look ridiculous for different reasons.
One nit about the site: the screen elements forced me to make my browser window more than half the size of my screen, and I use a 3840×2160 monitor. My windows are normally about ⅕ the size of the screen and roughly 4:3 ratio shaped. It was nearly unusable like that (I don't suffer issues from almost any other site.)
On the game/bracket: it narrowed me down to Noto Sans Mono and I'm honestly not surprised, it's one of the few fonts that comes with my operating system that I find acceptable.
That being said, what I actually have my terminal and Emacs set to is “AcPlus IBM VGA 8x16” from https://int10h.org/oldschool-pc-fonts/. I've always been fond of the VGA font and it tickles all the right usability marks for me.
Surprised that I picked Oxygen Mono over Noto, but probably because I wasn't aware of Oxygen.
Would be nice to be able to play it with my own fonts because some got eliminated purely because 0 (zero) looked like O (letter). Fira Code was a winner only because there weren't paid fonts that I use.
I like, as it is quick to decide, and you can see font names afterwards (some indeed looked similar).
At the same time, it would be wonderful if window sizes were more consistent (now things are obstructed, with scrolling, etc). And I would love to download the ranking graph!
Doesn't it kind of default the purpose if you can't see it in the actual environment you'd be using it? I know the differences are very minor between terminals and browsers when it comes to font rendering, but this seems like a tool that should be a plugin with the editor people are intending to use the font with, rather than a website.
Obligatory shout-out to Berkeley Mono [1], which understandably isn't on this site because it's a paid font. I really enjoy the customizer that comes with it, I use the font on all my terminal/IDE environments, as well as on my blog.
(FWIW, I just did the codingfont bracket and got Source Code Pro, which I've used in the past, along with Iosevka and Commit Mono)
Played it twice to see if it's reproducible. First time, Fira Code; second time Source Code Pro. Source Code Pro came in second first time round as well. Been using Fira Code until now.
This kind of breaks for me because I identify all the familiar fonts quite quickly—Consolas, Inconsolata, Iosevka, JetBrains Mono, Fira Mono/Code, Menlo, SF Mono, Courier...
Been running Berkeley Mono for years. Before that i flipped fonts and theme like every week. I sometimes wish you could not change font or color theme at all.
I can sympathize; I shudder to think of how many total hours of my life I've spent tweaking fonts in my text editors.
That said, these days I almost exclusively use Input Mono [0], specifically the "Narrow" variety. With an occasional sprinkling of either Iosevka Fixed or PragmataPro Mono.
Same. Came down to Fira Code and PT Mono. I already use Fira Code, so I probably biased to what I'm used to. I do think that Fira Code is hard to beat when it comes to ambiguous characters.
- *: in the middle (better for things like multiplication), or high (better for things like C pointers)
- Alignment of =, >, - some fonts align -, = and > to that "=>" and "->" look good, others will not, making it arguably look better in isolation, others will optimize for ligatures
- The "i" may look significantly different, some will prioritize consistency, others will prioritize making il1I look distinct. Same idea for 0/O
- Aspect ratio, do you want a wide font, making alignment, indentation, and special characters clearer, or a narrow font, allowing you to cram longer lines into a single screen.
These are compromises, and depending on your style and language, you may prefer one or the other.
It is sort of baffling that people make some of these hideous fonts, look at them, and decide to publish them regardless. A font where the lowercase i and l are indistinguishable? Okay...
The one use case I've seen for Dank Mono was presentations with an overhead projector at conferences. The cursive for italics can make some of the structure of the code more differentiated when viewing it at a distance.
What I noticed while playing was that when fonts are similar, I really pay attention to the rendering of "m" and "r". When they look off, the whole font looks off to me.
I wonder if it's Stockholm syndrome or if I really do prefer it. It's a totally fine font, I've never felt the need to change it. All the default open source mono fonts seem completely adequate I suppose.
[ MAPLE MONO ]
(on Github https://github.com/subframe7536/Maple-font). It has amazing readability, looks nice, is compatible with NF if you use that. I received compliments from people looking over my shoulder for my f'ing font?! Huge shoutout to subframe7536 ^^
[0] https://font.nina.coffee/
https://github.com/ericfortis/verdanacamel
Anecdotal solely to me, very unnerving and even with formatting marks enabled makes me feel uneasy seeing a space without a space formatting mark.
https://www.comicbookfonts.com/Code-Monkey-Variable-font-p/b...
Unfortunately plus signs display as blank spaces in the test drive. Oh well.
Though it turns out that VS Code default (Droid Sans Mono) is (to my eye) basically identical to my winner (Roboto Mono), so the exercise was mostly academic.
It would be nice if it showed you 1st, 2nd, semi-finalist, quarter-finalist...
It would also be nice to see progress of some kind, a few minutes in I was wondering if I was near completion or just getting started.
It's hidden behind the menu button on mobile.
I came from Fira Code to JetBrains Mono to MonoLisa (several years each) then finally settled on Berkeley Mono and refuse to use anything else!
https://github.com/githubnext/monaspace/blob/main/docs/Textu...
There's a vector version[2] now too!
[1]: http://proggyfonts.net/
[2]: https://github.com/bluescan/proggyfonts/tree/master/ProggyVe...
For coding I much prefer fonts that are bold and easier to read. Who actually likes these whimsical cursive looking comments or super thin looking fonts?
I ended up with "Roboto Mono" btw.
https://pastebin.com/d3RzBR6B
This way I can focus on coding and less on tweaking my environment.
I made myself my own pixel-perfect perfect font, more than 10 years ago. I simply copy it from one system to the next one when I upgrade (either the machine or the OS).
It's basically a modified pixel-perfect Terminus font, but with some elements mixed from an old pixel-perfect Monaco font and some modification of mine.
Something I cannot live without is a tall pipe symbol. And my pipe symbol must have a hole in it in the middle (and it cannot be mistaken for an exclamation mark).
I've got the following as a quick test. The reason for a,b,c,e is to verify that <>,{},[], etc. all perfectly align vertically.
Everything is correct, to the pixel.
I don't believe in anti-aliasing for a coding font, not even on a retina display, and I love my 3840x1600 pixels 38" monitor and it's pixel size is perfect to me.
the lowercase 's' has a shorter upper bar and the lowercase 'l' is stylised.The thing is: I obsessed for days, creating my own pixel-perfect font. And I don't need to tweak it anymore: it's perfect (to me, YMMV) and I use it ever since.
Can't share it as I reused both Terminus and chars from Monaco.
FWIW I had more than 10/10 eyesight (once you get at 10, there are additional tests) and in my entire life I've never seen one person beat me at the "read sign on the highway". Pixel-perfect font, no AA, custom made font for me. YMMV. Haters gonna hate.
> I don't believe in anti-aliasing for a coding font, not even on a retina display
This is a very good point. As resolution increases, antialiased fonts become less ugly, but also less necessary. Thus at no resolution they make any sense; but they look ridiculous for different reasons.
On the game/bracket: it narrowed me down to Noto Sans Mono and I'm honestly not surprised, it's one of the few fonts that comes with my operating system that I find acceptable.
That being said, what I actually have my terminal and Emacs set to is “AcPlus IBM VGA 8x16” from https://int10h.org/oldschool-pc-fonts/. I've always been fond of the VGA font and it tickles all the right usability marks for me.
Plex is a beautiful font, and one of the few corporate fonts that I actually think works, while being recognizable as being IBM.
Would be nice to be able to play it with my own fonts because some got eliminated purely because 0 (zero) looked like O (letter). Fira Code was a winner only because there weren't paid fonts that I use.
At the same time, it would be wonderful if window sizes were more consistent (now things are obstructed, with scrolling, etc). And I would love to download the ranking graph!
Also, about half of these fonts look utterly unsuitable for coding to me. Nobody really needs serifs and loopy l's in a coding font, surely?
* https://news.ycombinator.com/item?id=42554715
Results: Roboto Mono !
I'm using Liberation Mono, and it's missing :( i got PT Mono though.
(FWIW, I just did the codingfont bracket and got Source Code Pro, which I've used in the past, along with Iosevka and Commit Mono)
[1] https://usgraphics.com/products/berkeley-mono
But I prefer (and use) PragmataPro (not free) and it is not part of the test, sadly.
That said, these days I almost exclusively use Input Mono [0], specifically the "Narrow" variety. With an occasional sprinkling of either Iosevka Fixed or PragmataPro Mono.
0: https://input.djr.com/
I eventually had to buy one I liked, and non-free fonts won’t ever show up in sites like these.
(It’s called “Codelia” if curious.)
Seeing all the fonts listed here it would be great to be able to add user submissions into the mix.
Like, some fonts look to weird/unusual that I dislike. But most look just fine and I don't really care.
Am I weird? Do I lack taste?
- Ligatures or not
- *: in the middle (better for things like multiplication), or high (better for things like C pointers)
- Alignment of =, >, - some fonts align -, = and > to that "=>" and "->" look good, others will not, making it arguably look better in isolation, others will optimize for ligatures
- The "i" may look significantly different, some will prioritize consistency, others will prioritize making il1I look distinct. Same idea for 0/O
- Aspect ratio, do you want a wide font, making alignment, indentation, and special characters clearer, or a narrow font, allowing you to cram longer lines into a single screen.
These are compromises, and depending on your style and language, you may prefer one or the other.
2024 https://news.ycombinator.com/item?id=41604781
2021 https://news.ycombinator.com/item?id=29010443
That's the one i have been using for many years, look like i made the right choice
What I'm missing is DejaVuSansMono which is what I'm using. The result of the test was Ubuntu Mono, which looks okay too.
https://philpl.gumroad.com/l/dank-mono
The one use case I've seen for Dank Mono was presentations with an overhead projector at conferences. The cursive for italics can make some of the structure of the code more differentiated when viewing it at a distance.