You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Koen Lagveen 3a26899158 correct year for martian-mono 21 hours ago
.github/workflows try running rome using setup-rome 1 month ago
asset-sources Add filter button for zero style (empty, slash, dot) 2 years ago
fonts fix #129 add martian mono 21 hours ago
merriweather switch to merriweather for ui font 2 years ago
.csscomb.json add stylesheet grooming 6 years ago
.eslintrc add linter configs 4 years ago
.gitignore setup dependencies via npm 3 years ago
.stylelintrc new lint rules with property order 3 years ago
CNAME Update CNAME 3 years ago
LICENSE Create LICENSE 6 years ago Typo 4 months ago
favicon.png favicons 6 years ago
fonts-schema.json fix #106 add bigblue-terminal 11 months ago
fonts.json correct year for martian-mono 21 hours ago
fonts.sublime-project add some metadata and validate against schema 6 years ago
index.css visually differentiate pin state in icon 2 years ago
index.html ⬆️ codemirror to 5.65.11 2 weeks ago
index.js Fix #126 line number spacing not updating on zoom 3 weeks ago
package-lock.json bump deps 3 weeks ago
package.json try running rome using setup-rome 1 month ago feat: add 8 for comparison to 0 4 years ago
rome.json format and check using 1 month ago
safari-pinned-tab.svg favicons 6 years ago

Programming Fonts

Test drive programming fonts online in your browser. The interactive counter part of the Tumblr Blog. makes it easier to find monospaced fonts. All fonts in one place, with proper credits towards the creators. It's not a download portal, we don't track anything, it's strictly by nerds and designers for nerds and designers.

Buy me a coffee


This website is powered by coffee. No ads, no tracking, no monetization. We do have a little costs for domain name. And coffee. Gallons of coffee. Please feel free to make a little donation via PayPal to keep this labour of love running. It's much appreciated!

Project layout / contributing

  • All information about the fonts is stored in fonts.json.
  • Font files are stored in fonts/resources.
    • We store only 4 variants (if available), in .woff format (if available): regular, italic, bold, bold+italic
  • All font files (and directories) are normalized to lowercase, without -mono unless it's really part of the name.
  • The fonts.less registers the variants for each font "alias" and is used to generate the stylesheets.
  • The license needs to allow serving in a website, or an agreement with the font creators needs to be made. If available we add the license along with the font files.
  • Running npm install && npm run test checks the json and builds the stylesheet.


There are some limitations to the current approach. For instance, we only load the default set for each font. So, mostly:

  • It' currently not possible to explore different weights (e.g. Source Code Pro Light).
  • Open type alternatives for zero style, and other options (e.g. all the different variations possible with Input Mono) are not exposed.
  • I would be nice to include more commercial fonts. Creators need to eat too, and not all the best fonts are open source. However, it is not always possible to arrange a license for usage of the font in this website.
  • Character set coverage and other valuable information, e.g. if a font has true italics, is not exposed.
  • Background info on each font can usually be found in the blog (ongoing project: adding this to the description property for each font).