A monospace font is an environment, not just a typeface. It is what you stare at for eight hours a day if you write code or operate a terminal. Picking one well repays itself thousands of times over. The list below collects the most respected fixed-width designs in the open-source catalog. The list below ranks 20 open-source families, with a paragraph of editorial commentary on each one and a live specimen rendered straight from the Google Fonts CDN. Every typeface in the list is free to use commercially under an open-source license — no paywalls, no asterisks, no premium tier.
For context on the methodology, the families are ordered by a combination of catalog popularity, weight range, language coverage, and a working judgement on how each face holds up at the sizes its use case demands. If you would rather browse the full unfiltered catalog of fonts that match this use case, the TypeCraft use-case hub lists every open-source family that qualifies.
-
Roboto Mono
Roboto Mono is a working monospace family from Christian Robertson. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 14-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Inconsolata
Inconsolata is a working monospace family from Raph Levien. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 8-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Source Code Pro
Source Code Pro is a working monospace family from Paul D. Hunt. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 16-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
JetBrains Mono
JetBrains Mono is a working monospace family from JetBrains. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 16-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
IBM Plex Mono
IBM Plex Mono is a working monospace family from Mike Abbink. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 14-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
DM Mono
DM Mono is a working monospace family from Colophon Foundry. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 6-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Google Sans Code
Google Sans Code is a working monospace family from Google. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 12-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Space Mono
Space Mono is a working monospace family from Colophon Foundry. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 4-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Geist Mono
Geist Mono is a working monospace family from Andrés Briganti. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 9-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Iosevka Charon Mono
Iosevka Charon Mono is a working monospace family from Juliette Pluto. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 8-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Iosevka Charon
Iosevka Charon is a working monospace family from Juliette Pluto. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 8-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Courier Prime
Courier Prime is a working monospace family from Alan Dague-Greene. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 4-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Share Tech Mono
Share Tech Mono is a working monospace family from Carrois Apostrophe. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 1-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Datatype
Datatype is a working monospace family from Frank Tisellano. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 9-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Fira Code
Fira Code is a working monospace family from The Mozilla Foundation. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 5-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
VT323
VT323 is a working monospace family from Peter Hull. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 1-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
PT Mono
PT Mono is a working monospace family from ParaType. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 1-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Anonymous Pro
Anonymous Pro is a working monospace family from Mark Simonson. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 4-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Ubuntu Mono
Ubuntu Mono is a working monospace family from Dalton Maag. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 4-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123 -
Cousine
Cousine is a working monospace family from Steve Matteson. The character set has been drawn with the unglamorous problems of code typography in mind: confusable characters are visibly distinct, the punctuation is heavy enough to survive aggressive syntax highlighting, and the 4-style range gives you enough weight options to build a real editor theme without leaving the family.
Aa Bb 123
How we picked the list
Ranked guides are an editorial position, not an algorithm output. Each entry on the list above has been chosen because we believe a working designer would benefit from sampling it on a real project, not because it ranks high in a particular Google Fonts metric. Where two families would do similar jobs, we kept the one with the broader weight range, the deeper language coverage, or the more careful production from a maintainer who actively patches the source.
If you disagree with a rank or think we have left a family off the list, that is the point of an editorial guide — it gives you something specific to argue with. The complete unfiltered catalog of every open-source family that qualifies for this use case is available on the TypeCraft use-case hub, and the broader categories index covers the structural classification of the entire catalog.
Once you have a shortlist of two or three families that look promising, the right next step is to set them in your real layout, on your real copy, at your real reading sizes. The TypeCraft font pages render every weight live from the Google Fonts CDN so that you can preview a candidate without leaving the directory, and the pairing guides document tested heading-and-body combinations using many of the families on this list.