CodingFont: A game to help you pick a coding font

224 points - today at 3:16 PM

Source

Comments

dylan604 today at 7:55 PM
Going through this, I was introduced to <= being converted to a ligature which immediately ruled it as a nope for me. No monkey business with the characters of my code thank you very much.
torgeros today at 7:05 PM
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 ^^

sedatk today at 6:32 PM
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.

dlvhdr today at 8:27 PM
No Commit Mono :( The GOAT - https://commitmono.com/
DiabloD3 today at 8:08 PM
Something I never liked about this game is its showing it in your browser at your chosen font size.

Chrome (assuming you're using Chrome) draws it a specific way. This does not match how Freetype (using typical tuning) or DirectWrite draws it. Chrome's choices in font renderer tuning and blending makes it kind of split the difference between Windows-style and OSX-style, and isn't native to either.

What it should be doing is showing you lossless screenshots of actual in-app renders at different sizes. Some in Chrome (to represent the Electron apps), some in DirectWrite, some in OSX post-Retina, etc.

Some fonts look amazing at larger sizes, but are unreadable at smaller ones. Some perform exceptionally well at smaller sizes. Some look great on every font renderer but OSX's, but some only look right on OSX and look bad everywhere else.

I've sorta played this game with myself, in a semi-objective way: take a bunch of fonts, ignore the subjective art nature of them, and throw them at a bunch of common renderers and see what the optimal size is, and then sort by smallest legible size.

If we define Fira Code, the most popular code font out there, as the bare minimum, 8 of the ones I tested beat it, while 17 were worse.

https://github.com/Diablo-D3/dotfiles/blob/master/fontsizes....

foresto today at 8:22 PM
Neat.

I wish the sample text included _underscores_, since I have occasionally found that they disappear with certain combinations of font + size + renderer.

And a run of all the numeric digits 0123456789, to show how their heights align.

And [square brackets], to show how easily they are distinguished from certain other glyphs.

And the vertical | bar, for the same reason.

sodimel today at 4:11 PM
My coding font is comic-shanns-mono, here's how it looks: https://github.com/jesusmgg/comic-shanns-mono?tab=readme-ov-...
rbanffy today at 8:24 PM
Sadly, IBM 3270 is missing from the lot. How can I write professional looking code that lasts a lifetime in anything less?

I also remember some nice ones designed to look like a smoothed VT-220 one.

KronisLV today at 4:55 PM
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.
manbitesdog today at 8:05 PM
That's very nice and I ended up with the same font I tend to use (Source Code Pro) vs the font I used before (Noto Sans Mono). Some features I'd love to see:

- An ELO-based version with many more variables, so that I can open the site from time to time and find more nice fonts

- Some global stats

- Not losing the leaderboard after reloading

- Spline Sans Mono

delecti today at 6:18 PM
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.

JasonSage today at 4:00 PM
I enjoyed this, though my font preferences are pretty stable.

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.

akarlsten today at 6:00 PM
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!
aquir today at 4:14 PM
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
flkiwi today at 8:00 PM
It's ... weirdly validating that what I ended up with is what I actually use (Source Code Pro).
mosburger today at 5:26 PM
I got Source Code Pro. My daily driver is currently 0xProto, but I didn't see that in the game (admittedly I think it's kinda rarely used).
ghosty141 today at 7:48 PM
Oh this is really cool, I did it and I landed on the font I've been using for years now: "Fira Code".
eahm today at 8:18 PM
I always end up with Consolas, Ubuntu Sans Mono and Hack.
regus today at 4:12 PM
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?

I ended up with "Roboto Mono" btw.

keithxm23 today at 4:27 PM
I'd love to see a page which tracked stats for what the majority of users were picking
0x457 today at 5:25 PM
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.

ale today at 4:31 PM
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.
coldcity_again today at 6:03 PM
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.

There's a vector version[2] now too!

[1]: http://proggyfonts.net/

[2]: https://github.com/bluescan/proggyfonts/tree/master/ProggyVe...

quibono today at 8:01 PM
Nothing comes close to Iosevka for me, after using it for a while it's hard to find the same mix of narrow+readable.
tmtvl today at 7:19 PM
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.
efortis today at 7:32 PM
If you prefer proportional fonts, here's one that pads a 1/3 of a space before uppercase letters, so it makes camelCase more legible.

https://github.com/ericfortis/verdanacamel

michaelcampbell today at 7:51 PM
Fun. Interestingly the one that "won" for me isn't the one I normally use, which was one of the candidates, but I have used it a lot in the past.
chungy today at 4:03 PM
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.

deepriverfish today at 5:27 PM
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.

lemontheme today at 6:58 PM
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
thetwentyone today at 6:22 PM
I wish it had my favorite in it so that I could do a blind test to see if it really is my favorite: https://juliamono.netlify.app
timeinput today at 4:32 PM
IBM Plex Mono -- I guess no one ever got fired for choosing IBM?
BruceEel today at 4:58 PM
Well, Atkinson Hyperlegible Mono ... - thank you!!!
tasuki today at 8:15 PM
There are some good choices, but also some atrocious ones. My favourite coding font[0] is missing.

[0]: https://www.recursive.design/ and also available on Google Fonts[1]

[1]: https://fonts.google.com/specimen/Recursive

adityamwagh today at 8:09 PM
My favourite one is Iosevka Extended.
oneneptune today at 6:28 PM
Courier Prime won for me, I've always been a courier fan I guess because I wrote all my books in the 90s with it..
gkhartman today at 7:09 PM
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.
stared today at 6:15 PM
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!

starkparker today at 5:48 PM
I already use Inconsolata but had customized it to a point where I didn't recognize it here. It won anyway. Validation!
lordgrenville today at 6:53 PM
Nice idea, would be good to add a third option for "these look indistinguishable" (and then I guess they could be bundled together in later stages).
Surac today at 4:35 PM
Source Code Pro was my winner in this test. I use Iosevka on a regular base
davidpfarrell today at 6:09 PM
Because I'm lazy, and forgetful, I went back to my comment from a previous time this was posted:

* https://news.ycombinator.com/item?id=42554715

Results: Roboto Mono !

genpfault today at 4:04 PM
Doesn't seem to serve rendered samples so you have to set "browser.display.use_document_fonts" to "1" to see anything useful.
nikitadotla today at 4:41 PM
Ubuntu Mono. I have been using JetBrains Mono for last 2 years and surprisingly I rejected it in a second iteration.
embedding-shape today at 3:59 PM
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.
vindex10 today at 6:43 PM
Thanks! A lot of fun!

I'm using Liberation Mono, and it's missing :( i got PT Mono though.

abound today at 4:12 PM
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)

[1] https://usgraphics.com/products/berkeley-mono

croemer today at 4:36 PM
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.
delta_p_delta_x today at 4:13 PM
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...
stephc_int13 today at 4:11 PM
Got Jetbrains Mono. Not a surprise as I used this font for a long time and I still use it for my terminal font.

But I prefer (and use) PragmataPro (not free) and it is not part of the test, sadly.

dmd today at 6:31 PM
I was pleased to find that I chose the font I actually use.
phplovesong today at 4:52 PM
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.
diehunde today at 6:16 PM
Did the whole thing. I got IBM Plex. Actually looks great
ranger_danger today at 4:26 PM
Fira Code for me.
airstrike today at 6:53 PM
please add TokyoNight and its variants. I can't imagine using any other theme!
yoyohello13 today at 5:13 PM
Every time something like this comes up I always end up with JetBrains Mono.
Levitating today at 6:03 PM
I got Cuisine, I was trying to get Hack.
hrimfaxi today at 5:11 PM
This is like an eye test for choosing a font, great idea!!
krunck today at 6:42 PM
Roboto Mono for the win.
vova_hn2 today at 5:02 PM
Is it weird that I look at most of the offered pairs and think "meh, both are ok, I guess", but do not feel any preference one way or the other?

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?

gnarlouse today at 6:26 PM
I got Anonymous Pro
deleted today at 4:43 PM
varispeed today at 5:08 PM
Mine is Red Hat Mono, but really I don't like any of the presented fonts.
j45 today at 6:46 PM
This was a pleasant surprise to enjoy, I was surprised to discover a font I wasn’t aware of.

Seeing all the fonts listed here it would be great to be able to add user submissions into the mix.

wang_li today at 4:51 PM
Serifs so I and l look different, monospace so it's possible to use spaces for alignment, and a slash or dot in the zero. What else do I need?
ChrisArchitect today at 4:50 PM
Some previous discussion including a Show HN: from the dev:

2024 https://news.ycombinator.com/item?id=41604781

2021 https://news.ycombinator.com/item?id=29010443

fortyseven today at 6:35 PM
It works -- by the end I was facing off against my two favorites. ;) I CAN'T CHOOSE.
nomsters today at 4:18 PM
JetBrains Mono. Makes sense
bensyverson today at 4:37 PM
Can we just talk about how good Source Code Pro is?
grigio today at 6:04 PM
ubuntu mono, fira code
jbverschoor today at 5:25 PM
Fira Code
WhereIsTheTruth today at 5:07 PM
JetBrains Mono

That's the one i have been using for many years, look like i made the right choice

cyanydeez today at 5:05 PM
I don't need this many rounds to determine it. There should be "neither" to limit the weird fonts that will never fly.
0xdeadbeefbabe today at 5:04 PM
I'm tired of colors. I wonder if I hate them all or just haven't found the perfect one.
Arn_Thor today at 4:15 PM
Roboto Mono, apparently
askl today at 4:07 PM
Wow, some of these are looking atrocious. (Victor Mono, Syne Mono, Nova Mono)

What I'm missing is DejaVuSansMono which is what I'm using. The result of the test was Ubuntu Mono, which looks okay too.

throwaway613746 today at 6:10 PM
[dead]
wendy7756 today at 4:17 PM
[dead]
i18nagentai today at 7:04 PM
[flagged]