I have difficulty differentiating "l" and "1" when reading source code, i.e. monospace serif types. I am able to tell which is which when looking more closely, but regardless of my eyesight, this requires additional concentration.

From my tests, this stems from the arrow head of the "l", which in combination with a wide base looks very similar to a classic "1" (e.g. in Courier Prime).

Notably, this confusion is greatly reduced when using either no arrow head (which looks a bit strange!), or a half width base (Fira Mono), or both (Monoid).


However, looking at http://www.s9w.io/font_compare/, it appears the problematic combination is easily prevalent.

Why is that? Should we not work more to remove this issue? Or is it just me having trouble?

I do understand that sans serif, the letters will look similar - but I'd hope that monospace serif would fix it, by using all the additional space available. In particular since some of the offending fonts were especially created for use in programming.

Edit: It should be noted that the problematic shape (the lower case L of e.g. Courier Prime) is commonly used to denote a '1' in other fonts (though often in reduced height, e.g. in FF Seria Sans). This surely contributes to my mind reading it as a '1'.

  • Related: graphicdesign.stackexchange.com/questions/30393
    – mafu
    May 18 '16 at 15:18
  • I don't think there generally is a problem. 1l are easy enough to distinguish in most monospaced fonts (I just checked the ones I have) specifically because they are generally used for code. Your Courier Prime example, from my experience, is an exception (the other examples are clearly different). As the linked question says I and l are generally very similar in sans-serif fonts but that isn't really a problem.
    – Cai
    May 18 '16 at 16:03
  • 2
    I just checked your link and I'm surprised how many have very similar glyphs for 1 and l. Still, I don't believe they are the majority and the easy solution is not to use them for coding!
    – Cai
    May 18 '16 at 16:08
  • Funnily enough the 1 and l look almost identical here now that I'm on mobile...
    – Cai
    May 18 '16 at 18:03
  • @Cai Well, I guess we kind of agree then! I'm confused why so many have this problem, which imo clearly reduces their usability, and for no good (or good enough) reason.
    – mafu
    May 18 '16 at 18:41

You get good differentiation with monospace fonts that have elongated ascenders for the lowercase 'L'. This also helps separating the lowercase 'L' from the uppercase 'i'.
Here's an example from the superb Nitti by the Dutch typefoundry Bold Monday. Nitti Monto

Edit: Sorry this should be a comment, not an answer…

  • It helps, I agree, but not enough to be able to recognize it I'm afraid. Even Courier Prime (which sadly has to keep serving as my bad example) has a taller "l" than "1". I'm not aware of fonts that make the distinction large enough. That being said, I'm not sure if my eyes are worse than regular in this regard, so I would not consider it impossible that your appreciated remark is an answer to some people.
    – mafu
    May 19 '16 at 18:25
  • Sure, you won't find a perfect solution. Be aware though that typedesigners try to find a harmonic whole instead of extravagant individual glyphs. So to a certain degree similarities between letters are welcome to establish consistency. An example: If you add a rounded ending to a lowercase 'L' it will have implications on other letters too, so these decisions have to be balanced and reasonable.
    – Typo
    May 20 '16 at 15:57

Here are some more examples, not sure if these fonts work well for your purpose which seems to be a programming environment. Terminal One Pennsylvania OCR A Lettera Interstate Mono Eurostile Mono Ayuthaya Avant Garde Mono

Not the answer you're looking for? Browse other questions tagged or ask your own question.