CodingFont: A game to help you pick a coding font

(codingfont.com)

204 points | by nvahalik 5 hours ago ago

119 comments

  • dylan604 9 minutes ago ago

    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.

    • pmarreck 6 minutes ago ago

      That is usually configurable at the terminal level- for example, both wezterm and ghostty have available configs to control this behavior.

      • jwilliams a minute ago ago

        Good to know. I’ve been using ghostty and generally not a fan of the code ligatures (or just too stubborn to adapt!).

  • quibono 3 minutes ago ago

    Nothing comes close to Iosevka for me, after using it for a while it's hard to find the same mix of narrow+readable.

  • torgeros an hour ago ago

    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 ^^

    • ksymph an hour ago ago

      While we're dropping lesser-known coding fonts, here's my favorite, Lotion [0]. It's cute and playful but also very legible and clean.

      [0] https://font.nina.coffee/

      • pmarreck 4 minutes ago ago

        This one has a bit of... an Art Deco flavor, perhaps, is it?

    • chris_st 21 minutes ago ago

      Seconding Maple Mono - it's very nice.

  • sedatk 2 hours ago ago

    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.

    • pmarreck 13 minutes ago ago

      Berkeley Mono was the first time I bought a font.

      It's so good. Perfect even. And they have a really neat customization tool.

      I've been using it for a few years now and they actually still occasionally release a new version of it. Haven't gotten tired of it yet.

      The only complaint I have about it is that I had to do a hacky workaround to get my Nix setups to pull it in since it's proprietary.

      I even forked their "Machine Report" tool (which presumes Debian) to make it work on Linux/NixOS by applying a "polyfill": https://github.com/pmarreck/usgc-machine-report-nixos-editio...

    • CoolGuySteve an hour ago ago

      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.

  • flkiwi 4 minutes ago ago

    It's ... weirdly validating that what I ended up with is what I actually use (Source Code Pro).

  • sodimel 4 hours ago ago

    My coding font is comic-shanns-mono, here's how it looks: https://github.com/jesusmgg/comic-shanns-mono?tab=readme-ov-...

    • card_zero 3 hours ago ago

      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.

      https://www.comicbookfonts.com/Code-Monkey-Variable-font-p/b...

      Unfortunately plus signs display as blank spaces in the test drive. Oh well.

    • nvahalik 4 hours ago ago

      I initially used this one when I started playing around with Zed on a personal project, but I kept it and it has grown on me considerably.

      • vladde 4 hours ago ago

        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

    • other_herbert 3 hours ago ago

      Comic Code Ligatures for me :D

      • dunham an hour ago ago

        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.)

      • speedgoose 2 hours ago ago

        Same. It has a double-storey a, which I prefer a lot.

    • rjsw 3 hours ago ago

      Reminds me of the original Smalltalk font.

    • deepriverfish 3 hours ago ago

      I use comic mono myself

    • john_strinlai 4 hours ago ago

      i like that way more than i would have thought simply based on the name.

    • dhorthy 2 hours ago ago

      diabolical

    • bolp 2 hours ago ago

      Thanks, I hate it.

  • KronisLV 3 hours ago ago

    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.

    • craftkiller 2 hours ago ago

      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.

  • delecti 2 hours ago ago

    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.

  • akarlsten 2 hours ago ago

    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!

    • MarsIronPI 23 minutes ago ago

      Iosevka might be difficult to add because it has so many options. Then again, that's why I use it.

  • ghosty141 16 minutes ago ago

    Oh this is really cool, I did it and I landed on the font I've been using for years now: "Fira Code".

  • JasonSage 4 hours ago ago

    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.

    • croemer 3 hours ago ago

      It does show you on the left. Just not on the certificate.

    • Izkata 2 hours ago ago

      > t would also be nice to see progress of some kind

      It's hidden behind the menu button on mobile.

  • michaelcampbell 13 minutes ago ago

    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.

  • aquir 4 hours ago ago

    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

    • sevg 3 hours ago ago

      Another Berkeley Mono user here!

      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!

      • TymekDev 4 minutes ago ago

        I have been on JetBrains Mono ever since it's release. I am getting FOMO from not using Berkely Mono, because it totally looks like something that would sit right with me.

  • mosburger 3 hours ago ago

    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).

  • efortis 31 minutes ago ago

    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

    • oneneptune 28 minutes ago ago

      This is very cool.

      Anecdotal solely to me, very unnerving and even with formatting marks enabled makes me feel uneasy seeing a space without a space formatting mark.

      • efortis 16 minutes ago ago

        yep, sometimes I switch to mono before sharing my screen

  • tmtvl an hour ago ago

    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.

  • regus 4 hours ago ago

    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.

    • trinari 3 hours ago ago

      uh isn't the font size kinda independant from the font style?

      • SAI_Peregrinus 2 hours ago ago

        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.

      • lstodd 3 hours ago ago

        It is, but noone serious has time for appreciating latest trends in web typography, so we just hit the reader mode on load.

  • coldcity_again 2 hours ago ago

    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...

  • keithxm23 4 hours ago ago

    I'd love to see a page which tracked stats for what the majority of users were picking

  • ale 4 hours ago ago

    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.

  • lemontheme an hour ago ago

    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

  • deepriverfish 3 hours ago ago

    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.

    • TacticalCoder 2 hours ago ago

      > 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.

      • enriquto an hour ago ago

        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.

  • chungy 4 hours ago ago

    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.

  • thetwentyone 2 hours ago ago

    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 4 hours ago ago

    IBM Plex Mono -- I guess no one ever got fired for choosing IBM?

    • sneak 3 hours ago ago

      IBM Plex Mono Ultralight is a joy to look at on a high DPI display.

      • mrweasel 3 hours ago ago

        Do you mean Extralight, I can't seem to find the Ultralight. It's probably just my eyes getting older, but I start to prefer chunkier fonts and 18pt.

        Plex is a beautiful font, and one of the few corporate fonts that I actually think works, while being recognizable as being IBM.

  • BruceEel 3 hours ago ago

    Well, Atkinson Hyperlegible Mono ... - thank you!!!

  • gkhartman an hour ago ago

    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.

  • 0x457 3 hours ago ago

    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.

    • whynotmaybe 3 hours ago ago

      Exactly, it's not really a "coding" font if 0 is like O

  • oneneptune 2 hours ago ago

    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..

  • lordgrenville an hour ago ago

    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).

  • stared 2 hours ago ago

    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 2 hours ago ago

    I already use Inconsolata but had customized it to a point where I didn't recognize it here. It won anyway. Validation!

    • ralferoo 2 hours ago ago

      It told me I should use Incosolata. I've used Consolas for as long as I can remember, so I guess they must be pretty similar.

      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?

  • Surac 3 hours ago ago

    Source Code Pro was my winner in this test. I use Iosevka on a regular base

  • davidpfarrell 2 hours ago ago

    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 4 hours ago ago

    Doesn't seem to serve rendered samples so you have to set "browser.display.use_document_fonts" to "1" to see anything useful.

    • speedgoose 2 hours ago ago

      I think it also requires internet access, so you have to enable internet.

    • jeffbee 4 hours ago ago

      Which is the default, and 99.9% of Firefox users, 99.99% of all users will not have this issue.

  • nikitadotla 3 hours ago ago

    Ubuntu Mono. I have been using JetBrains Mono for last 2 years and surprisingly I rejected it in a second iteration.

  • vindex10 an hour ago ago

    Thanks! A lot of fun!

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

  • embedding-shape 4 hours ago ago

    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.

  • abound 4 hours ago ago

    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 3 hours ago ago

    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.

  • dmd 2 hours ago ago

    I was pleased to find that I chose the font I actually use.

    • Measter an hour ago ago

      Hilariously, I had the exact opposite. I use Fira Code, which I eliminated in the first round.

  • delta_p_delta_x 4 hours ago ago

    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 4 hours ago ago

    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.

  • diehunde 2 hours ago ago

    Did the whole thing. I got IBM Plex. Actually looks great

    • whalesalad 2 hours ago ago

      This is my daily driver, although recently I have been enjoying Cascadia Code for something fresh.

  • phplovesong 3 hours ago ago

    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.

    • doodpants 2 hours ago ago

      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.

      0: https://input.djr.com/

  • airstrike an hour ago ago

    please add TokyoNight and its variants. I can't imagine using any other theme!

  • ranger_danger 4 hours ago ago

    Fira Code for me.

    • gkhartman an hour ago ago

      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.

    • techwizrd 2 hours ago ago

      I also got Fira Code, followed by Ubuntu Mono, Source Code Pro, and Oxygen Mono.

  • yoyohello13 3 hours ago ago

    Every time something like this comes up I always end up with JetBrains Mono.

  • krunck an hour ago ago

    Roboto Mono for the win.

  • Levitating 2 hours ago ago

    I got Cuisine, I was trying to get Hack.

  • hrimfaxi 3 hours ago ago

    This is like an eye test for choosing a font, great idea!!

    • naikrovek 3 hours ago ago

      If only it showed fonts that I like.

      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.)

  • gnarlouse 2 hours ago ago

    I got Anonymous Pro

    • pohl 15 minutes ago ago

      Same. I guess I'll have to try it.

  • vova_hn2 3 hours ago ago

    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?

    • GuB-42 2 hours ago ago

      It is all about the details:

      - 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.

    • bigstrat2003 an hour ago ago

      No, not weird at all. I can't even imagine caring about what font one uses for programming.

  • j45 an hour ago ago

    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.

  • varispeed 3 hours ago ago

    Mine is Red Hat Mono, but really I don't like any of the presented fonts.

  • fortyseven an hour ago ago

    It works -- by the end I was facing off against my two favorites. ;) I CAN'T CHOOSE.

  • wang_li 3 hours ago ago

    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?

    • Izkata 2 hours ago ago

      How do you feel about cursive? (Victor Mono on the site)

  • ChrisArchitect 3 hours ago ago

    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

  • nomsters 4 hours ago ago

    JetBrains Mono. Makes sense

  • bensyverson 3 hours ago ago

    Can we just talk about how good Source Code Pro is?

  • grigio 2 hours ago ago

    ubuntu mono, fira code

  • jbverschoor 3 hours ago ago

    Fira Code

  • WhereIsTheTruth 3 hours ago ago

    JetBrains Mono

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

  • cyanydeez 3 hours ago ago

    I don't need this many rounds to determine it. There should be "neither" to limit the weird fonts that will never fly.

  • 0xdeadbeefbabe 3 hours ago ago

    I'm tired of colors. I wonder if I hate them all or just haven't found the perfect one.

  • Arn_Thor 4 hours ago ago

    Roboto Mono, apparently

  • askl 4 hours ago ago

    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.

    • jeffbee 4 hours ago ago

      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...

      • shagie 3 hours ago ago

        I was amused that Dank Mono wasn't in the lineup (though there was one that had some of its aesthetics)

        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.