Top Related Projects
Free monospaced font with programming ligatures
This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal.
Monospaced font family for user interface and coding environments
Versatile typeface for code, from code.
The package of IBM’s typeface, IBM Plex.
Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more
Quick Overview
JetBrains Mono is a free and open-source monospaced font designed specifically for developers. It features increased height for better readability, a rectangular shape, and carefully crafted ligatures. The font aims to reduce eye strain and improve code readability, especially during long coding sessions.
Pros
- Improved readability with increased x-height and distinctive characters
- Supports a wide range of programming ligatures
- Available in multiple weights and styles
- Free and open-source, suitable for both personal and commercial use
Cons
- May not be suitable for all developers, as font preference is subjective
- Ligatures might take some time to get used to for some users
- Limited language support compared to some other programming fonts
- Requires manual installation on some systems
Getting Started
To use JetBrains Mono in your development environment:
- Download the font from the official GitHub repository.
- Install the font on your system:
- Windows: Right-click the downloaded files and select "Install"
- macOS: Double-click the downloaded files and click "Install Font"
- Linux: Copy the files to
~/.local/share/fonts
and runfc-cache -f -v
- Configure your IDE or text editor to use JetBrains Mono as the default font.
For example, in Visual Studio Code, add the following to your settings.json
:
{
"editor.fontFamily": "JetBrains Mono",
"editor.fontLigatures": true
}
In IntelliJ IDEA or other JetBrains IDEs, go to Settings/Preferences > Editor > Font, and select "JetBrains Mono" from the dropdown menu.
Competitor Comparisons
Free monospaced font with programming ligatures
Pros of FiraCode
- More extensive ligature support, offering a wider range of programming-specific symbols
- Longer development history, resulting in a more mature and refined typeface
- Larger community and wider adoption across various text editors and IDEs
Cons of FiraCode
- Less consistent spacing and alignment compared to JetBrainsMono
- May appear less crisp on certain displays due to its design approach
- Limited weight options compared to JetBrainsMono's extensive range
Code Comparison
FiraCode:
if (x => 0 && x <= 100) {
console.log("x is between 0 and 100");
}
JetBrainsMono:
if (x >= 0 && x <= 100) {
console.log("x is between 0 and 100");
}
The main difference in this example is the rendering of the >=
operator. FiraCode combines it into a single ligature, while JetBrainsMono keeps the characters separate but aligned. Both fonts aim to improve readability, but their approaches differ slightly in execution.
This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal.
Pros of Cascadia Code
- Designed specifically for terminal and command-line interfaces
- Includes programming ligatures for improved code readability
- Offers a wider range of weights and styles
Cons of Cascadia Code
- Less optimized for extended coding sessions in IDEs
- May have fewer language-specific optimizations
- Smaller community and fewer contributions compared to JetBrains Mono
Code Comparison
JetBrains Mono:
def factorial(n):
return 1 if n == 0 else n * factorial(n - 1)
Cascadia Code:
def factorial(n):
return 1 if n == 0 else n * factorial(n - 1)
While both fonts render code similarly, JetBrains Mono may offer slightly better readability for extended coding sessions due to its focus on IDE usage. Cascadia Code, on the other hand, excels in terminal environments and offers more stylistic options. The choice between the two often comes down to personal preference and specific use cases.
Monospaced font family for user interface and coding environments
Pros of Source Code Pro
- Wider range of weights and styles, offering more flexibility in design
- Longer development history, potentially leading to better refinement
- Larger community and wider adoption, resulting in more extensive testing
Cons of Source Code Pro
- Less focus on programming-specific ligatures compared to JetBrains Mono
- May not be as optimized for extended coding sessions as JetBrains Mono
- Slightly less modern aesthetic compared to JetBrains Mono's sleek design
Code Comparison
While both fonts are designed for coding, their appearance in code can differ slightly:
Source Code Pro:
def hello_world():
print("Hello, World!")
JetBrains Mono:
def hello_world():
print("Hello, World!")
The differences are subtle, but JetBrains Mono tends to have slightly wider characters and more distinct forms for similar glyphs, which can aid in code readability during long coding sessions.
Both fonts are excellent choices for programming, with Source Code Pro offering more versatility in design and JetBrains Mono focusing on optimizing the coding experience.
Versatile typeface for code, from code.
Pros of Iosevka
- Highly customizable with numerous build options
- Supports a wide range of languages and scripts
- Compact design, allowing more text to fit on screen
Cons of Iosevka
- Requires building from source for custom variants
- May have a steeper learning curve for configuration
- Less widespread adoption compared to JetBrains Mono
Code Comparison
Iosevka:
const x = 42;
function foo() {
return x * 2;
}
JetBrains Mono:
const x = 42;
function foo() {
return x * 2;
}
While both fonts are monospaced and designed for coding, the visual differences are subtle. Iosevka tends to have a more condensed appearance, which can be advantageous for displaying more code on screen. JetBrains Mono, on the other hand, focuses on readability with its wider characters and distinctive ligatures.
Iosevka's customization options allow users to tailor the font to their preferences, including character width, style variations, and ligature support. JetBrains Mono offers a more standardized approach with carefully designed glyphs and built-in coding-specific features.
Ultimately, the choice between these fonts depends on personal preference, screen real estate considerations, and the desire for customization versus out-of-the-box optimization for coding.
The package of IBM’s typeface, IBM Plex.
Pros of Plex
- Offers a wider variety of font styles and weights
- Supports a broader range of languages and scripts
- Designed for both digital and print use
Cons of Plex
- Larger file sizes due to extensive character set
- May require more system resources to render
- Less focus on programming-specific features
Code Comparison
While both fonts are designed for readability in coding environments, their appearance can differ slightly:
JetBrains Mono:
def hello_world():
print("Hello, World!")
Plex Mono:
def hello_world():
print("Hello, World!")
JetBrains Mono features ligatures and coding-specific glyphs, while Plex Mono offers a more traditional monospaced appearance. The choice between them often comes down to personal preference and specific use cases.
Both fonts are open-source and actively maintained, with JetBrains Mono focusing more on programming-specific features, while Plex aims to be a versatile typeface family for various applications.
Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more
Pros of Nerd Fonts
- Offers a vast collection of patched fonts with added icons and glyphs
- Includes a wide range of programming ligatures across multiple fonts
- Provides extensive customization options and font variants
Cons of Nerd Fonts
- Large repository size due to the extensive font collection
- May require more system resources to manage and use multiple fonts
- Some fonts might have inconsistent quality or incomplete character sets
Code Comparison
While a direct code comparison isn't applicable for font repositories, we can compare how they might be used in a terminal configuration:
JetBrains Mono:
font_family JetBrains Mono
font_size 12.0
Nerd Fonts:
font_family Hack Nerd Font Mono
font_size 12.0
symbol_map U+E0A0-U+E0A2,U+E0B0-U+E0B3 PowerlineSymbols
The Nerd Fonts configuration allows for additional symbol mappings, which can be useful for displaying custom glyphs and icons in the terminal or text editor.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
JetBrains Mono: a typeface made for developers
JetBrains Mono is available as a standalone download, and is also bundled in all JetBrains IDEs. Discover more font features & design on its web page.
Default version of JetBrains Mono comes with OpenType features and ligatures (which can always be toggled on & off in the settings). If your IDE doesnât support OpenType, use a special version of the font â JetBrains Mono NL, which doesnât include any ligatures.
Installation
JetBrains IDEs
The most recent version of JetBrains Mono ships with your JetBrains IDE starting with v2019.3.
Select JetBrains Mono in the IDE settings: go to Preferences/Settings
â Editor
â Font
, and then select JetBrains Mono from the Font dropdown.
Brew (macOS only)
Install it using the font-jetbrains-mono
cask:
brew install --cask font-jetbrains-mono
Manual installation
On Mac/Windows:
- Download font.
- Unzip the archive and install the font:
- Mac. Select all font files in the folder and double-click them. Click the Install Font button.
- Windows. Select all font files in the folder, right-click any of them, then pick Install from the menu.
Note If you have previously installed JetBrains Mono, please uninstall all previous versions to exclude conflicts and errors in rendering.
On Linux:
Open a terminal and run the following:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/install_manual.sh)"
Once JetBrains Mono is installed in your OS, you are ready to configure the editor.
Visual Studio Code
- From the File menu (Code on Mac) go to
Preferences
âSettings
, or use keyboard shortcut Ctrl+, (Cmd+, on Mac). - In the Editor: Font Family input box type
JetBrains Mono
, replacing any content. - To enable ligatures, go to Editor: Font Ligatures, click Edit in settings.json, and copy this line
"editor.fontLigatures": true
into json file.
More ways to install
Font Styles
There are 8 font styles available in JetBrains Mono, from Thin to ExtraBold, each coming with its own italic version.
Font Features
Increased x-height
While characters remain standard in width, the height of the lowercase is maximized. This approach keeps code lines to the length that developers expect, and it helps improve rendering in small size, since each symbol occupies more pixels.
Distinctiveness of symbols
Ligatures for Code
A ligature is a character consisting of two or more joined symbols. Traditionally, it was introduced as a space-saving technique in printed texts. In code, this technique is adopted to show operators and is used mainly for two purposes:
- To reduce noise by merging symbols and removing details so the eyes are processing less:
- To balance whitespace more efficiently by shifting the glyphs in certain cases:
Note if your IDE doesnât support OpenType features and ligatures, use JetBrains Mono NL instead.
OpenType features
Starting from v2.304, JetBrains Mono has added support for alternate characters.
Stylistic Sets ss01-20
usually change a group of characters. Character Variant cv01-99
usually changes only one character.
Here are the instructions for enabling these features.
Basic Character Set
You can find full JetBrains Mono character set on our wiki page.
Building from source files
Note To build from source, you'd need Python 3.9.5 or higher (install instructions for Python available here).
The source files can be found in the "Source" folder. To open them you will need Glyphs app.
To build the .ttf
, .otf
, woff2
& variable .ttf
you will need to:
- Install gftools
pip install gftools
- Install fonttools[woff]
pip install fonttools[woff]
- Navigate to JetBrainsMono folder in Terminal app.
- Type
gftools builder sources/config.yaml
in Terminal and run it. - Type
python scripts/generate_variable_webfonts.py
in Terminal and run it to generate variablewoff2
files. - After the scripts are complete, the files can be found in fonts folder.
License
JetBrains Mono typeface is available under the OFL-1.1 License and can be used free of charge, for both commercial and non-commercial purposes. You do not need to give credit to JetBrains, although we will appreciate it very much if you do.
The source code is available under Apache 2.0 License
Credits
Type designer
Philipp Nurullin
Team lead
Konstantin Bulenkov
Thanks to
Nikita Prokopov
Eugene Auduchinok
Tatiana Tulupenko
Dmitrij Batrak
IntelliJ Platform UX Team
Web Team
Top Related Projects
Free monospaced font with programming ligatures
This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal.
Monospaced font family for user interface and coding environments
Versatile typeface for code, from code.
The package of IBM’s typeface, IBM Plex.
Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot