1, l, and I or 0 and O.
We tested 25+ monospaced typefaces across VS Code, Sublime Text, and the Windows Terminal over the past three months. Below are the 15 best coding fonts that stood out for readability, ligature support, and cross-platform consistency. All font details, GitHub stars, and feature availability in this article were last verified in April 2026 on VS Code 1.98.
Quick Comparison of the Best Programming Fonts
This table gives you a side-by-side overview of every font in this list, including the best monospace fonts for terminals, so you can narrow down your shortlist before reading the detailed breakdowns below.| Font | License | Ligatures | Weights | Best For |
|---|---|---|---|---|
| JetBrains Mono | Free (OFL) | Yes (139+) | 8 | All-round coding in any editor |
| Fira Code | Free (OFL) | Yes (100+) | 6 | Ligature-heavy workflows |
| Cascadia Code | Free (OFL) | Yes | 6 | Windows Terminal and VS Code |
| MonoLisa | Paid ($59+) | Yes | 8 | Developers who want a premium feel |
| Source Code Pro | Free (OFL) | No | 7 | Clean Adobe-designed readability |
| Hack | Free (MIT) | No | 4 | No-frills readability on any OS |
| Iosevka | Free (OFL) | Yes | 9 | Narrow screens and split panes |
| Consolas | Free (Windows) | No | 4 | Visual Studio and.NET development |
| Input Mono | Free (personal) | No | 56 styles | Customizable width and spacing |
| DejaVu Sans Mono | Free (Bitstream) | No | 4 | Linux terminals and multilingual code |
| Victor Mono | Free (OFL) | Yes | 7 | Cursive italics for comments |
| Ubuntu Mono | Free (UFL) | No | 4 | Ubuntu users and terminal workflows |
| Maple Mono | Free (OFL) | Yes | 5 | Rounded aesthetic with Nerd Font support |
| Monoid | Free (MIT) | Yes | 3 | Small font sizes and bitmap-like sharpness |
| Proggy Fonts | Free (MIT) | No | 1 | Retro bitmap look on low-res displays |
What Makes a Good Programming Font?
Before picking the best font for coding, it helps to know what separates a good typeface from a bad one. According to the 2024 JetBrains Developer Ecosystem Survey, developers spend an average of 4.2 hours per day reading code. The font you stare at for those hours matters more than most developers realize. Here are the criteria we used to evaluate every font on this list.| Criterion | Why It Matters |
|---|---|
| Monospacing | Equal character width keeps code aligned across indentation levels, making structure visible without counting spaces |
| Character Distinction | Clear visual difference between 1/l/I, 0/O/o, and similar pairs prevents misreading variable names and operators |
| Ligature Support | Combines multi-character operators like !=, =>, and === into single glyphs for faster scanning |
| Weight Variety | Multiple weights (Light through Bold) let you match the font to your theme, monitor, and preferred density |
| x-Height | A taller x-height (the height of lowercase letters) improves readability at smaller font sizes |
| Cross-Platform Support | Works on Windows, macOS, and Linux without rendering differences or missing glyphs |
| Open Source License | Free fonts licensed under OFL or MIT can be used anywhere without legal concerns for personal or commercial projects |
!== and => immediately recognizable as single symbols instead of character sequences.
15 Best Programming Fonts for Coding in 2026
Each font below includes its license type, key features, and which development environment it works best in. We ranked these best coding fonts by community popularity and overall readability based on our testing.1. JetBrains Mono
JetBrains Mono is the most popular free programming font released in the last five years, built by the team behind IntelliJ IDEA, PyCharm, and WebStorm. It has over 13,000 GitHub stars and ships as the default font in every JetBrains IDE. What sets JetBrains Mono apart is its increased x-height. The lowercase letters are taller than most monospaced fonts, which means you can use a smaller font size without losing readability. In our testing at 13px in VS Code, JetBrains Mono remained clearer than Fira Code and Source Code Pro at the same size. The font ships with 139+ coding ligatures, 8 weights from Thin to ExtraBold, and full italic variants. It supports over 145 code-related languages and includes Cyrillic and Greek character sets. License: Free (SIL Open Font License) Ligatures: Yes (139+) Weights: 8 (Thin to ExtraBold) Best for: Any IDE or editor. Particularly strong in JetBrains products, VS Code, and Sublime Text. Get it: JetBrains Mono on GitHub2. Fira Code

!=, =>, and >= into single typographic symbols.
The underlying code stays ASCII-compatible. Ligatures are purely visual, so copying and pasting code works normally. Fira Code ships in 6 weights (Light, Regular, Retina, Medium, SemiBold, Bold), and the Retina weight is specifically tuned for high-DPI screens.
According to the VS Code Marketplace, Fira Code is the most recommended font in extension README files and setup guides. If you are new to ligature fonts, Fira Code is the safest starting point.
License: Free (SIL Open Font License)
Ligatures: Yes (100+)
Weights: 6
Best for: Developers who want the widest ligature coverage in a free font.
Get it: Fira Code on GitHub
Want to use custom fonts on your Elementor website? Check out the guide on How to Add Custom Fonts to Elementor
3. Cascadia Code
Cascadia Code is Microsoft’s open-source monospaced font, designed as the default for Windows Terminal and Visual Studio. It replaced Consolas as Microsoft’s recommended developer font in 2019 and has been actively updated since. The font includes programming ligatures, a cursive italic variant (Cascadia Code Italic), and a “Mono” variant without ligatures (Cascadia Mono) for developers who prefer clean operator rendering. It also ships with a Nerd Font variant that bundles popular icon sets for terminal customization. Cascadia Code has a friendly, rounded personality compared to JetBrains Mono’s geometric precision. If you work primarily in the Microsoft ecosystem (VS Code, Visual Studio, Windows Terminal), Cascadia Code integrates with zero friction. License: Free (SIL Open Font License) Ligatures: Yes (optional via Cascadia Mono variant) Weights: 6 (ExtraLight to Bold) Best for: Windows Terminal, VS Code, and the Microsoft development stack. Get it: Cascadia Code on GitHub4. MonoLisa

5. Source Code Pro

i, j, and l characters, and optimized symbol rendering.
With 7 weights from ExtraLight to Black and matching italic styles, Source Code Pro offers more weight options than most free alternatives. It renders consistently across Windows, macOS, and Linux.
License: Free (SIL Open Font License)
Ligatures: No
Weights: 7 (ExtraLight to Black)
Best for: Developers who prefer clean, no-ligature fonts with Adobe-quality design.
Get it: Source Code Pro on GitHub
6. Hack
Hack is a free, open-source coding font designed for source code with a focus on readability at common font sizes (8px to 14px). It is built on the Bitstream Vera and DejaVu font families but redesigns over 1,500 glyphs specifically for code. Hack uses a generous x-height and distinct character forms. The zero has a diagonal slash (not a dot), the lowercase L has a visible tail, and the number 1 has a clear serif base. These design decisions make Hack one of the most legible fonts at smaller sizes. The font does not support ligatures, which is a plus for developers who find ligatures distracting or who work in languages where operator symbols should remain visually separate. License: Free (MIT + Bitstream Vera) Ligatures: No Weights: 4 (Regular, Bold, Italic, Bold Italic) Best for: Developers who want maximum legibility without ligatures. Get it: Hack on GitHub7. Iosevka
Iosevka is the most customizable programming font available. It is a narrow, monospaced typeface designed to fit more columns of code on screen, making it ideal for split-pane editor setups and smaller laptop displays. The font ships with 9 weights and includes ligature support. What makes Iosevka unique is its build system. You can generate a custom version of the font with your preferred character shapes, spacing, and ligature set by adjusting a configuration file on GitHub. Iosevka’s narrow character width means you can fit roughly 20% more code per line compared to JetBrains Mono or Fira Code at the same font size. For developers working on wide HTML templates or long method chains, this extra space is practical. License: Free (SIL Open Font License) Ligatures: Yes (configurable) Weights: 9 Best for: Developers who use split-pane layouts or want a fully customizable typeface. Get it: Iosevka on GitHubWorking with fonts on your WordPress site? Read our guide on the Best Elementor Fonts You Should Try
8. Consolas

9. Input Mono

10. DejaVu Sans Mono

11. Victor Mono
Victor Mono stands out for one specific feature: its cursive italic variant. When enabled in VS Code or any editor that supports font style mapping, code comments render in a flowing cursive style while regular code stays upright. This creates a clear visual separation between comments and executable code. Many developers who tried Victor Mono report that the cursive comments make it easier to skim past annotations and focus on logic during debugging sessions. Beyond the cursive feature, Victor Mono is a clean, semi-condensed font with 7 weights and optional programming ligatures. It has 3,000+ GitHub stars and an active development cycle. License: Free (SIL Open Font License) Ligatures: Yes Weights: 7 (Thin to Bold) Best for: Developers who want visually distinct cursive comments. Get it: Victor Mono on GitHub12. Ubuntu Mono

13. Maple Mono
Maple Mono is a newer entrant that gained traction in 2025 for its rounded, friendly aesthetic paired with practical coding features. It bundles Nerd Font icons directly, so terminal users get file type icons, git symbols, and powerline glyphs without patching the font separately. The font supports coding ligatures and has a smart italic variant that applies cursive only to comments and keywords, similar to Victor Mono but with a rounder base design. It ships in 5 weights with variable font support. Maple Mono has grown to 4,500+ GitHub stars since its initial release. If you like the aesthetic of Cascadia Code but want a warmer, more rounded feel, Maple Mono is worth testing. License: Free (SIL Open Font License) Ligatures: Yes Weights: 5 (with variable font) Best for: Terminal users who want built-in Nerd Font support with a rounded design. Get it: Maple Mono on GitHub14. Monoid

l, 0, and $ that you can toggle during download to match your preference.
Monoid ships in Regular, Bold, and Oblique weights. Its narrow width is similar to Iosevka, fitting more columns per screen. For developers on lower-resolution displays or those who prefer very small font sizes, Monoid delivers where other fonts cannot.
License: Free (MIT + OFL)
Ligatures: Yes
Weights: 3 (Regular, Bold, Oblique)
Best for: Small font sizes on standard-resolution monitors.
Get it: Monoid on GitHub
15. Proggy Fonts

How to Install a Programming Font in VS Code
According to the 2024 Stack Overflow Developer Survey, VS Code is used by 73.6% of developers, making it the most popular code editor. If you are looking for the best font for VS Code, any of the 15 options above will work. Here is how to install and activate your chosen font. This process takes approximately 2 minutes.-
- Download the font. Visit the GitHub repository or official site linked above. Download the latest release as a.zip file.
-
- Extract the font files. Unzip the download. Look for.ttf or.otf files in the extracted folder. Most fonts include multiple weights (Regular, Bold, Italic).
-
- Install the font on your operating system. On Windows, right-click each.ttf/.otf file and select “Install for all users.” On macOS, double-click the file and click “Install Font.” On Linux, copy the files to
~/. local/share/fonts/and runfc-cache -f -v.
- Install the font on your operating system. On Windows, right-click each.ttf/.otf file and select “Install for all users.” On macOS, double-click the file and click “Install Font.” On Linux, copy the files to
-
- Open VS Code Settings. Press
Ctrl+,(Windows/Linux) orCmd+,(macOS). Search for “Font Family.”
- Open VS Code Settings. Press
-
- Set the font name. In the “Editor: Font Family” field, type the exact font name (e.g.,
'JetBrains Mono','Fira Code','Cascadia Code'). Add fallbacks separated by commas:'JetBrains Mono', 'Fira Code', monospace.
- Set the font name. In the “Editor: Font Family” field, type the exact font name (e.g.,
-
- Enable ligatures (optional). Search for “Font Ligatures” in settings and set it to
true, or add"editor.fontLigatures": trueto your settings.json file.
- Enable ligatures (optional). Search for “Font Ligatures” in settings and set it to
-
- Restart VS Code. Close and reopen VS Code to apply the new font. The change should be visible immediately in the editor pane.
mkdir -p ~/. local/share/fonts
cp *.ttf ~/. local/share/fonts/
fc-cache -f -v






