Fantasque Sans Mono: A Programming Font You Install by Hand or Build with make
A font family with a great monospaced variant for programmers.
At a glance
- What is it?
- Fantasque Sans Mono is an OFL-licensed monospaced font with handwritten fuzziness, distributed as prebuilt releases and rebuilt from FontForge sources with make or Docker. The last push to the repository was on 2026-03-15, and the newest tagged release is v1.8.0 from 2019.
- Who is it for?
- Adopt Fantasque Sans Mono if you want a monospaced face with handwritten irregularity and you are willing to install a release by hand or build it yourself with make or the supplied Dockerfile. Do not adopt it if you need a font whose full glyph set is verified, because the README states that not all drawn glyphs were tested and may render badly; the README also does not document rollback or how to select a previous release.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Activity is slowing. The repository last received commits 6 months ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Fantasque Sans Mono solves, and who it is for
Most monospaced fonts for programmers aim for neutrality: even spacing, uniform strokes, no personality. Fantasque Sans Mono goes the other way. The README describes it as "a programming font, designed with functionality in mind, and with some wibbly-wobbly handwriting-like fuzziness that makes it unassumingly cool." The target user is someone who reads code all day and wants the text to have a hand-drawn quality without giving up fixed-width metrics. The README names Inconsolata and Monaco as inspirations and notes that Consolas informed the design too, so the reference points are established programming faces rather than display type. It ships a bold weight with the same metrics as the regular one, plus an italic drawn with new glyph designs rather than a slanted copy of the upright. Character coverage is described as Latin letters, a large set of accented glyphs, some Greek letters and some arrows. The project was previously called Cosmic Sans Neue Mono, and the README explains the rename: similar names were already in use for other fonts, and people extended their dislike of Comic Sans to this one.
Variants, stylistic sets and the looped k
Fantasque ships more than one build of the same design, and picking the wrong one is the most common source of surprise. The NoLoopK variant replaces the looped lowercase k with a straight version; the README points to a pre-activated zip on the v1.8.0 release page and to issue #67 for techniques to activate stylistic set ss01 in software that supports it. The LargeLineHeight variant exists specifically for people who use accented capitals, because those glyphs need more vertical room. These are file-level choices, not toggles you flip in a settings panel, so a user who wants a straight k has to download the NoLoopK build or configure stylistic sets in an application that exposes them. The italic is a separate design effort, and the README compares its approach to Consolas' italic, which also redraws glyphs instead of applying a slant. That matters for anyone who reads comments or strings in italic and expects letterforms to stay distinguishable.
Installing Fantasque Sans Mono on macOS with Homebrew
The README gives one automatic installation path, and it is macOS-specific. The Homebrew cask installs the font family without touching the build system:
brew install --cask font-fantasque-sans-monoAfter the cask finishes, the family should appear in the system font picker and in applications that enumerate installed fonts. For every other platform the README says to download the latest release and install it by hand, and it notes that instructions for other platforms might follow. That is the whole documented story for Linux, Windows and BSD: fetch the archive from the releases page and place the files where your system looks for fonts. If you want the NoLoopK or LargeLineHeight build, download that specific archive rather than the default one.
Building the font from source with make or Docker
The repository is a font source tree, not just a download page, and the Makefile shows the actual pipeline. Running make builds the zip of all variants. Each TTF target depends on a source directory under Sources/, and the recipe runs Scripts/validate-font on the source before Scripts/generate-font-variants writes the output into Variants. The README states that the build requires FontForge with Python scripting support, ttfautohint, sfnt2woff from the woff-tools package on Ubuntu, and woff2_compress from the Google WOFF2 tools or the woff2 package on Ubuntu. It warns that the FontForge version in default Ubuntu repositories is much outdated and is known to have caused subtle problems, recommending a PPA instead. If you would rather not install those dependencies, the repository ships a Dockerfile:
docker build -t fantasque .
docker run -v "$(pwd)/Variants:/fantasque/Variants" fantasqueThe image is based on ubuntu:18.04 and installs fontforge, woff-tools, woff2, ttfautohint, make and zip from the FontForge PPA before running make. The container's CMD is make, and the volume mount means the built fonts land in ./Variants on the host. For local iteration there is also a make install target, which copies the TTF files into ~/.fonts/ and runs fc-cache -f; the README describes this as handy while modifying the font.
The glyph coverage caveat the README states plainly
The most useful sentence in the README is a warning rather than a feature list: the author has not tested all of the glyphs he drew, mentioning letters with two layers of accents, and says the font might look bad in some cases. That is a real limitation for anyone working with heavily accented text, transliterated scripts or mathematical notation outside the covered ranges. The coverage is described as Latin letters, quite a lot of accented glyphs, some Greek letters and some arrows, so Greek and arrow usage is partial by design. The README asks users to report rendering problems with a screenshot, and to ask for more characters if needed. There is no compatibility table, no per-codepoint status list and no automated glyph coverage test in the repository layout, so the only way to know whether a specific character renders acceptably is to inspect the built font in your own editor. This is the case where Fantasque is the wrong tool: if your work depends on a script outside the documented ranges, a font with an explicit coverage matrix is the safer choice.
Webfonts, the release cadence and what a fork costs you
Each variant has a Webfonts/ folder containing several font formats plus matching CSS declarations. The README is precise about assembly: you combine a custom .css file built from the *-decl.css fragments, the matching .svg, .woff and .woff2 files from Webfonts/, the matching .ttf files from TTF/ and the matching .otf files from OTF/ in one folder. There is no single ready-made stylesheet, so a web deployment means selecting the styles you need and copying four sets of files. On cadence, the newest tagged release is v1.8.0 from 2019-11-16, with v1.7.2 and v1.8-alpha before it in 2018; the repository itself was last pushed on 2026-03-15, so source activity and release activity are not the same thing here. If you need a fix or an extra glyph, you are building from source rather than waiting for a package. The license is the SIL Open Font License 1.1, which permits use, modification and redistribution under its conditions; the LICENSE.txt file in the repository is the authoritative text, and the README directs bug reports and requests to the issue tracker rather than offering any commercial support channel.
How Fantasque compares with a system-default coding font
The practical alternative is not another handwritten font but the monospaced face already installed on your machine, typically DejaVu Sans Mono on Linux or Menlo on macOS. Those fonts come with the operating system, are tested across a wide glyph range, and update through the package manager. Fantasque differs in three concrete ways. It is installed as a font file you place yourself, or through a single Homebrew cask on macOS. Its character is deliberately irregular, which some readers find easier to scan and others find distracting at small sizes. And its build path is exposed: the Sources/ directory holds .sfdir FontForge sources, and the Makefile plus Scripts/ directory let you regenerate the TTFs, which is not something you can do with a system font. That last difference is the reason to choose Fantasque if you want to alter a glyph rather than accept the design as shipped. If you only want a different look and never intend to touch the sources, the prebuilt release archive is the shorter path.
Editorial conclusion
Adopt Fantasque Sans Mono if you want a monospaced face with handwritten irregularity and you are willing to install a release by hand or build it yourself with make or the supplied Dockerfile. Do not adopt it if you need a font whose full glyph set is verified, because the README states that not all drawn glyphs were tested and may render badly; the README also does not document rollback or how to select a previous release. Before adopting, open Variants/Normal/TTF in the source tree or the release archive and check the exact characters your editor and terminal will display.
Frequently asked questions
How do I install Fantasque Sans Mono on macOS?
The README gives one automatic path: brew install --cask font-fantasque-sans-mono. For other platforms it says to download the latest release and install it by hand, and notes that instructions for other platforms might follow.
What is the difference between the regular Fantasque Sans Mono and the NoLoopK variant?
In the NoLoopK variant the looped lowercase k is replaced with a straight version. The README links to a pre-activated NoLoopK zip on the v1.8.0 release page and to issue #67 for ways to activate stylistic set ss01 in software that supports it.
What do I need to build Fantasque Sans Mono from source?
The README lists FontForge with Python scripting support, ttfautohint, sfnt2woff from woff-tools on Ubuntu, and woff2_compress from the Google WOFF2 tools or the woff2 package on Ubuntu. A Dockerfile is provided for building without installing those dependencies.
Which characters does Fantasque Sans Mono cover?
The README describes Latin letters, quite a lot of accented glyphs, some Greek letters and some arrows, with bold and italic versions sharing those ranges. It also states that not all drawn glyphs were tested and may look bad in some cases.
Under what license is Fantasque Sans Mono released?
It is licensed under the SIL Open Font License, with LICENSE.txt in the repository. The README credits Jany Belluz as the author and asks for bug reports or character requests through the issue tracker.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/belluzj-fantasque-sans)