Table of Contents
Quick Answer
- To install JetBrains Mono on Linux, run JetBrains' official install script with
curl. - Install JetBrains Mono from your distro's package manager (
ttf-jetbrains-monoon Arch,jetbrains-mono-fontson Fedora,fonts-jetbrains-monoon Ubuntu/Debian). - Download the JetBrains Mono font manually, copy the
.ttffiles to~/.local/share/fonts, and runfc-cache -f -vto refresh the font cache.
What is JetBrains Mono?
JetBrains Mono is a free, open-source monospaced typeface designed specifically for developers, with increased letter height, distinct character shapes, and ligature support that make code easier to read.
In this brief guide, we will cover different ways to install JetBrains Mono font on Linux.
Method 1: Install JetBrains Mono using Official One-Line Install Script
JetBrains Mono team published an official install script that downloads, extracts, and installs the font automatically. No manual steps needed!
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/install_manual.sh)"
This is the easiest method, and it always installs the latest release. Skip to Method 1 or 2 if you'd rather control each step yourself, or if your environment restricts running remote scripts.
Method 2: Install JetBrains Mono via Package Manager
This is the fastest method if your distro includes JetBrains Mono in its repositories.
Arch Linux / Manjaro:
sudo pacman -S ttf-jetbrains-mono
Fedora, RHEL-based Systems:
sudo dnf install jetbrains-mono-fonts
For a more up-to-date build than Fedora's default repos carry, use the community COPR repository instead:
sudo dnf copr enable elxreno/jetbrains-mono-fonts
sudo dnf install jetbrains-mono-fonts
Debian / Linux Mint / Ubuntu:
sudo apt install fonts-jetbrains-mono
If your package manager can't find this package, your distro's repos may not include it yet, use the manual method below instead.
Method 3: Manual Installation (Works on Any Distro)
This method works regardless of which Linux distribution you're using, since it doesn't rely on a package repository.
Step 1: Download the font
JetBrains names each release asset with its version number (e.g. JetBrainsMono-2.304.zip), so there's no fixed "latest" URL to link directly. Fetch the current download link from the GitHub API instead:
DOWNLOAD_URL=$(curl -s https://api.github.com/repos/JetBrains/JetBrainsMono/releases/latest | grep "browser_download_url.*zip" | cut -d '"' -f 4)
wget "$DOWNLOAD_URL" -O JetBrainsMono.zip
Alternatively, just open the Jetbrains mon releases page in your browser and download the .zip asset directly.
Step 2: Extract the archive
unzip JetBrainsMono.zip -d JetBrainsMono
Step 3: Move the font files to your local fonts directory
mkdir -p ~/.local/share/fonts
cp JetBrainsMono/fonts/ttf/*.ttf ~/.local/share/fonts/
Step 4: Refresh the font cache
fc-cache -f -v
Step 5: Verify the installation
fc-list | grep -i "jetbrains"
If the command returns a list of JetBrains Mono font files, the installation succeeded.
Method 4: System-Wide Installation (All Users)
To make JetBrains Mono available to every user on the machine instead of just your account, install it to /usr/share/fonts with sudo:
sudo mkdir -p /usr/share/fonts/jetbrains-mono
sudo cp JetBrainsMono/fonts/ttf/*.ttf /usr/share/fonts/jetbrains-mono/
sudo fc-cache -f -v
On Arch and Debian-based systems you may also see /usr/local/share/fonts recommended for manually-added fonts, to keep them separate from package-manager-installed ones. Either location works, since fontconfig scans both by default.
After Installing: Enable the Font
Once installed, JetBrains Mono won't appear until you restart the application you want to use it in. Restart your terminal emulator, code editor, or IDE, then select JetBrains Mono from its font settings.
Want Icons Too? Install the JetBrainsMono Nerd Font Version Instead
If you use a terminal prompt theme like Starship, Powerlevel10k, or oh-my-posh, or a status bar like Polybar or Waybar, you actually want JetBrainsMono Nerd Font.
JetBrainsMono Nerd Font is a patched version that adds icon glyphs (Git branch symbols, folder icons, OS logos) on top of the regular typeface. Regular JetBrains Mono will show broken boxes (▯) where these icons should appear.
Option A: using getnf (Nerd Fonts installer script):
curl -fsSL https://raw.githubusercontent.com/getnf/getnf/main/install.sh | bash
getnf -i JetBrainsMono
Arch users can also install the Nerd Font build straight from the official repos without any extra script:
sudo pacman -S ttf-jetbrains-mono-nerd
Option B: manual download:
mkdir -p ~/.local/share/fonts/JetBrainsMonoNerd
cd ~/.local/share/fonts/JetBrainsMonoNerd
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip
unzip JetBrainsMono.zip
fc-cache -f -v
After installing, select "JetBrainsMono Nerd Font" (not plain "JetBrains Mono") in your terminal or prompt theme's config.
Note on Nerd Font variants: The patched fonts ship in three flavors. Pick the one that matches your setup, per the official Nerd Fonts guidance:
- Nerd Font Mono (NFM): icon glyphs are forced to standard monospace character width; use this if your terminal requires strictly fixed-width fonts
- Nerd Font (NF, no "Mono" suffix): icons render larger, around 1.5 characters wide; works in most terminals but not all
- Nerd Font Propo (NFP): proportional icon spacing; use this for GUI elements, status bars, or presentations rather than terminals
No Ligatures? Try JetBrains Mono NL
If ligatures render incorrectly in a specific app (a known issue in some terminals like older xfce4-terminal builds, where == and >= can visually overlap or swap), install JetBrains Mono NL instead.
It's the same typeface with ligatures removed entirely, and it's included in the same download archive as the regular font. Just select the NL font files during installation to install it.
Special Cases: WSL, Flatpak, and Snap Apps
WSL (Windows Subsystem for Linux)
Installing the font inside WSL only makes it available to Linux GUI apps running under WSLg.
If you want the font to show up in Windows Terminal, you need to install it on the Windows side too. Download the .ttf files and double-click each one in Windows Explorer, or right-click → Install.
Flatpak apps
Most Flatpak apps can already see fonts installed in ~/.local/share/fonts, since Flatpak automatically exposes your host font directories to the sandbox through a built-in font-sharing mechanism. No manual permission is usually needed.
That said, some apps (particularly certain Electron-based ones) don't always pick up sandboxed fonts correctly. If a specific Flatpak app still isn't showing the font after a restart, you can grant it broader filesystem access as a fallback:
flatpak override --user --filesystem=~/.local/share/fonts com.your.flatpak.app
Snap apps
Most Snap apps use strict confinement and read fonts from the host automatically via the desktop interface, but if a font doesn't appear, check:
snap connections <snap-name> | grep font
Configuring Ligatures After Installation
Installing the font is only half the job. Most editors and terminals need ligatures explicitly turned on.
VS Code: in settings.json:
{
"editor.fontFamily": "JetBrains Mono",
"editor.fontLigatures": true
}Kitty terminal: in kitty.conf:
font_family JetBrains Mono
Kitty renders ligatures by default if the font supports them.
Alacritty: in alacritty.toml:
[font]
normal = { family = "JetBrains Mono" }
Note: Alacritty does not support ligatures natively as of recent versions.
GNOME Terminal
GNOME Terminal (and other VTE-based terminals) don't render ligatures properly, so switch to Kitty, WezTerm, or Ghostty if ligatures matter to you. Don't switch to Alacritty for this purpose specifically, since it doesn't support ligatures either (see above).
Ghostty: in config:
font-family = JetBrains Mono
Ghostty renders ligatures by default when the font supports them, similar to Kitty.
Troubleshooting
1. Font installed but not showing up anywhere
Run fc-cache -f -v again and confirm the .ttf files are actually in ~/.local/share/fonts with ls ~/.local/share/fonts. A fully quit-and-reopen (not just a new window) is often required.
2. Shows up in some apps but not others
GTK and Qt apps sometimes cache font lists separately. Log out and back in, or reboot, to force a full refresh.
3. Works after reboot but fc-cache alone didn't fix it
This is normal. Some apps only read the system font list once at startup and won't reload until the process fully restarts, not just fc-cache.
4. Flatpak app can't see the font
See the Flatpak section above. Most apps see the font automatically, but a specific app may need an explicit filesystem override.
JetBrains Mono vs. Other Popular Coding Fonts
| Font | Ligatures | Nerd Font Available | Best For |
|---|---|---|---|
| JetBrains Mono | Yes | Yes | General coding, increased line height |
| Fira Code | Yes | Yes | Wide ligature support, older/established |
| Cascadia Code | Yes | Yes | Windows Terminal default, cursive ligatures |
| Iosevka | Yes (configurable) | Yes | Narrow/condensed, highly customizable |
Related Read:
- Starship Prompt: Customize Your Linux Shell with Ease
- Install Nerd Fonts To Add Glyphs In Your Code On Linux
- Nefoin: Auto-Install Nerd Fonts in Linux and macOS with One Command
- How To Add Fonts In Fedora Linux
- Font Finder: Easily Search And Install Google Web Fonts In Linux
- How To Find All Installed Fonts From Commandline In Linux
Uninstalling JetBrains Mono
To remove a user-level install:
rm ~/.local/share/fonts/JetBrainsMono*.ttf
fc-cache -f -v
For a system-wide install:
sudo rm -r /usr/share/fonts/jetbrains-mono
sudo fc-cache -f -v
Adjust the path if you installed to /usr/local/share/fonts instead. See the system-wide installation section above.
Frequently Asked Questions (FAQ)
A: User-level installs go to ~/.local/share/fonts. System-wide installs go to /usr/share/fonts (JetBrains' own recommended location), making the font available to all users on the machine. /usr/local/share/fonts also works and is preferred on some distros for manually-added fonts.
A: Run fc-cache -f -v to rebuild the font cache, then fully restart the application (not just reopen a window) so it re-reads the system font list.
A: Yes. JetBrains Mono is open-source and released under the SIL Open Font License, free for personal and commercial use.
A: Yes, JetBrains Mono includes optional programming ligatures for character combinations like ->, !=, and =>, though you may need to enable ligature support separately in your editor or terminal settings.
A: Yes. Download the .ttf files directly from the official GitHub releases page, copy them to ~/.local/share/fonts, and run fc-cache -f -v.
A: Plain JetBrains Mono is the standard typeface. JetBrainsMono Nerd Font is a patched version with the same letterforms plus thousands of extra icon glyphs, used for terminal prompt themes and status bars that display icons.
A: Your prompt theme (Starship, Powerlevel10k, etc.) needs a Nerd Font variant, not the plain font. Install JetBrainsMono Nerd Font and select it specifically in your terminal profile.
A: You need to install the font twice. Once inside WSL for Linux GUI apps, and once on the Windows side (by double-clicking the .ttf files in Explorer) for Windows Terminal to see it.
A: Most Flatpak apps see host fonts automatically through Flatpak's built-in font sharing. If a specific app (often an Electron-based one) still doesn't, grant it explicit access with flatpak override --user --filesystem=~/.local/share/fonts <app-id> and restart the app.
A: JetBrains Mono NL is the same typeface as JetBrains Mono but without ligatures built in. Use it if an app renders ligatures incorrectly or if you simply prefer plain character rendering.
A: Delete the .ttf files from ~/.local/share/fonts (or /usr/share/fonts//usr/local/share/fonts for a system-wide install), then run fc-cache -f -v to refresh the font cache.
Conclusion
JetBrains Mono is one of the most widely used coding fonts on Linux, and getting it installed only takes a minute. If you use a terminal prompt theme or status bar, don't forget the Nerd Font variant, and if ligatures render oddly in your terminal, JetBrains Mono NL is there as a clean fallback.
Once it's installed, restart your terminal or editor, select JetBrains Mono in the font settings, and you're set.
Resource:
