8.2 KiB
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)
-
Tap the font cask to make the Jetbrains Mono font available :
brew tap homebrew/cask-fonts
-
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.
Basic Character Set
You can find full JetBrains Mono character set on our wiki page.
Building from source files
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:
- install gftools
pip install gftools
(requires python 3.9.5 or higher on BigSur) - Navigate to …JetBrainsMono/sources/ in Terminal app.
- Type
gftools builder config.yaml
in Terminal and run it. - After the script is 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
Which font?
TL;DR
- Pick your font family and then select from the
'complete'
directory.- If you are on Windows pick a font with the
'Windows Compatible'
suffix.- This includes specific tweaks to ensure the font works on Windows, in particular monospace identification and font name length limitations
- If you are limited to monospaced fonts (because of your terminal, etc) then pick a font with the
'Mono'
suffix.- This denotes that the Nerd Font glyphs will be monospaced not necessarily that the entire font will be monospaced
- If you are on Windows pick a font with the
Ligatures
By the Nerd Font policy, the variant with the 'Mono'
suffix is not supposed to have any ligatures.
Use the non-Mono variants to have ligatures.
Explanation
Once you narrow down your font choice of family (Droid Sans
, Inconsolata
, etc) and style (bold
, italic
, etc) you have 2 main choices:
Option 1: Download already patched font
- download an already patched font from the
complete
folder- This is most likely the one you want. It includes all of the glyphs from all of the glyph sets. Only caution here is that some fonts have glyphs in the same code point so to include everything some had to be moved to alternate code points.
Option 2: Patch your own font
- patch your own variations with the various options provided by the font patcher (see each font's readme for full list of combinations available)
- This is the option you want if the font you use is not already included or you want maximum control of what's included
- This contains a list of all permutations of the various glyphs. E.g. You want the font with only Octicons or you want the font with just Font Awesome and Devicons. The goal is to provide every combination possible in this folder.
For more information see: The FAQ
Variations (Combinations)
The combinations and total number of combinations are provided here for reference if you want to create your own variation of a patched Nerd Font.
Why aren't all variations included ?
Combinations are no longer included by default because of the large inflation in size it caused the Repository and the amount of time it takes to rebuild all of the combinations. This issue would exponentially get worse as the numbers of Fonts and Glyph Sets provided increase.