Moxy — a monospaced coding font

Every time I switch or try out a new font, I track it in my my-new-programming-font series.

Some of the popular ones: IBM Plex Mono, Recursive, Commit Mono, Berkeley Mono.

This time’s a little different. It’s one I’ve “made” myself, and I’m calling it Moxy.

Built on strong bones ##

Moxy is built on top of Recursive. It’s a stretch to call it a new font — it’s Recursive with a set of opinionated character choices and a few fixes to the original.

There’s two things I love about Recursive:

  1. it’s one of the most legible and clear fonts out there
  2. it’s got flair1

Recursive was also a pioneer in pushing what variable type fonts can do.

Another font I’ve been testing and playing with is Lilex. It’s popular again because editors like Zed use it as the default. Lilex is really just IBM Plex Mono with a set of special characters and ligature choices. It’s an excellent font in many ways, and one I often find myself switching to.

Lilex has a few ligatures I absolutely love for programming. So, with the power of AI coding, I thought to myself: what if I had Recursive but with some of the glyphs of Lilex?

Thus was born Moxy.

What’s different: ##

Recursive vs Moxy, side by side — parentheses, long arrows, connected bars, dashes, escape backslash, letterforms, and extra arrows

The font ships with my specific Recursive character choices baked in. But you can swap them in and out depending on your preference.

Customizability for Moxy

Install it ##

Download the v1 release, unzip it, and install the .ttf files like any other font.

Alternatively, use brew:

brew install --cask kaushikgopal/tools/font-moxy

  1. People understandably love and swear by JetBrains Mono. They keep asking why I don’t cite or bring it up. I love that JetBrains Mono exists, but I find it a “drab” font — and that’s not always a bad thing. When you look at Recursive, it makes a statement. ↩︎