Our favorite fonts for the Linux terminal

Here is an entirely subjective list of some fun fonts for your Linux console.
10 readers like this.
Terminal view

Jamie Cox. Modified by Opensource.com. CC BY 2.0.

Terminal emulators came up as a topic for me recently, and it got me thinking: What's everyone's favorite terminal font?

So I asked Opensource.com contributors to share what font they like to use. Here are their answers.

VT323

I like to use a different font (VT323) in my GNOME Terminal than the font I use (Source Code Pro) in my programming editors or other apps that use a monospace font. I just like the look of the classic VT-style font.

Sometimes, I switch to the original IBM EGA font, because to my eye it looks really nice. But I associate EGA with DOS, and I associate VT323 with classic Unix terminals, so I use VT323 most of the time. Here's my screenshot of GNOME Terminal using VT323 as the monospace font:

gnome-terminal1108×926 output

(Jim Hall CC BY-SA 4.0)

I set up the terminal using VT323 at 24 pt, which gives a nice big window. If I'm going to bring up a terminal window, I want to really use it to do real work, not just do one thing and exit. I'm probably going to stay in that terminal window for a while, so it should be big and easy to see. I also prefer 80x25, because I'm an old DOS command line guy and 25 lines looks "right" to my eyes:

preference profile screen - text appearance

(Jim Hall CC BY-SA 4.0)

Jim Hall

Monospaced fonts

I don't know that I have a specific font that I use. I usually use either DejaVu or Liberation Mono. I like monospaced fonts because they're easier to read. Even then, I don't want the letters to be too close together. The main thing is being able to tell a small "L" from the number 1, Q from O, and so on. It's also nice to have all special characters stand out clearly.

I also like a good contrast between the font and background, so I set the background to black and characters to white.

Greg Pittman

Hack

I like to use monospaced fonts, particularly for the terminal and coding because they're easier to read. I've been using the Hack font family for years. It provides a nice monospace font combined with additional glyphs and Powerline characters that I can use to display status on the command line.

Command line

(Ricardo Gerardi CC BY-SA 4.0)

Here's the font preview generated with Fontpreview tool.

Display of font A-Z and the numbers

(Ricardo Gerardi CC BY-SA 4.0)

Ricardo Gerardi

Victor Mono

I've been using Victor Mono for both my terminal and IDE for a few years. It's perhaps a bit of an acquired taste, because the italic characters are in a monospace cursive script. I like this because code comments have a distinct look that's noticeably different from the rest of the code. Here's what it looks like in a terminal:

terminal font is italic characters in a monospace cursive script

(Chris Reynolds CC BY-SA 4.0)

I also use the Solarized Dark color scheme for both my IDE and the terminal. If I could, anything work or code related would all use the same color scheme, and the same fonts, so it all looks uniform. I've gone through various fonts over the years, but I always try to use the same thing in my terminal as in my IDE.

Chris Reynolds

Monaco

At the moment, Monaco regular at 16 pt (so much better than 12 or 14 pt fonts).

Jenny Panighetti

Keeping it pretty in pink

This reminds me of the time I pranked the other devs on my team by making all of their terminals pink (I was the only woman). It was like a baby pink background with hot pink text.

I like to make my personal terminals pretty, but for work I leave it white on black and just make the font around 16 pt because I appreciate the larger font size.

I just leave my terminal set to SF Mono font, but I make it bolder and bump it up a few points so I can see it better. My favorite colors to use are pink or a nice aqua blue color. I also like the default style the terminal has, called "Novel".

Two open terminals, one pink and one aqua blue

(RachieVee CC BY-SA 4.0)

RachieVee

Let's ask ChatGPT

For the heck of it, I decided to ask ChatGPT. Here was its response:

As a language model, I do not have personal preferences or the ability to have a favorite font. However, some popular terminal fonts include Monospace, Consolas, and Inconsolata. These fonts are popular because they are easy to read, have clear distinctions between different characters, and are highly legible even at small font sizes. Additionally, they are designed to work well with a variety of different operating systems and terminals, making them versatile choices for developers and users alike.

I generated this text in part with GPT-3, OpenAI's large-scale language-generation model. Upon generating draft language, the author reviewed, edited, and revised the language to my own liking and takes ultimate responsibility for the content of this publication.

Stephanie Brinley

Fantasque Sans Mono

$ grep font ~/.Xdefaults
URxvt*font: xft:FantasqueSansMono-Regular:pixelsize=12:antialias=true

I don't remember when I settled on Fantasque Sans Mono, but I guess it's been my default for the past 8 years now, both in Rxvt and Konsole. I don't know what font I'm using in my GNOME terminal. Probably whatever the default is on GNOME.

Seth Kenlon

Jetbrains Mono

Lately, I have Tilix set as my default terminal. My Tilix config has similar settings to what Jim Hall uses. The few differences are:

  • Cursor shape is underline instead of a block
  • Font is Jetbrains Mono Nerd Font Mono Medium 14
Black terminal with blue text

(Alan Formy-Duval CC BY-SA 4.0)

 —Alan Formy-Duval

photo of Jim Hall
Jim Hall is an open source software advocate and developer, best known for usability testing in GNOME and as the founder + project coordinator of FreeDOS.

8 Comments

I'm partial on Victor Mono and Fantasque Sans Mono

I am a full-time Linux user, and I use the terminal a lot. I use Alacritty with JetBrains Mono Nerd, as Alan does. Tried a few others, but keep coming back to this font.

Interesting.

For me I use fixed-pitched fonts all day long. For programming in an editor/IDE or on the Linux console, so I care about them a lot.

First of all I want the zero to be marked, I prefer it to be slashed but a dot will do. Un marked zeros rule out quite a few to start with, for example rules out Lucida Console, Arial Monospaced, Droid Sans Mono and Noto Sans Mono.

I like the letters "i", "I", "l" and the number "1" to look different too. I've dyslexia so I've also got additional preferences, so while I like sans-serif fonts normally (I detest Comic Sans), so characters need serifs on them to make them look different.

Finally something I only thought about recently are the ligatures. So some fonts have nice ligatures for programming (assuming your IDE can use them), which can make things pretty, but I don't find that they work so well on the console.

So some fonts...

Bitstream Vera Mono and DejaVu Mono - in the past I used them both as they were some of the first good quality open source fonts, and with good Unicode coverage. I don't use them much anymore.

Source Code Pro - used it for years as well as Source Sans Pro. Quite nice but I'm not using it much at the moment.

Anonymous and Anonymous Pro. I love the slash on Anonymous though it's "corrected" on Anonymous Pro. The two fonts are quite different in size, but I still have a soft sport for them even though I don't use them much now. I believe that they are inspired by Monaco.

Consolas comes with Windows and isn't bad if you have to use Windows.

Inconsolata a nice clean console font, widely available in most Linux distros.

Fira available in basic monospaced (good for a console) and a code version with fancy ligatures. I've used it quite a lot recently.

IBM PLex Mono Has a dotted 0 by default, but contains lots of options, so can be used with a slashed zero. Currently my favourite.

I use xterm
When I ssh into a server and then want to change font size with the control-middle-mouse-button menu, I always get this complaint :
Warning: Cannot convert string "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-*" to type FontStruct
/usr/bin/xterm: cannot load font "-Misc-Fixed-medium-R-*-*-20-200-75-75-C-200-ISO10646-1"

Which font package do I need to add ?
Is it needed at the local end ? the remote end ? both ?

I use Emacs for everything: coding, terminal, even reading email. That way I don't have issues with different colors/fonts in different apps. I am currently using Fira Code 16.

I have been comparing terminals and some fonts there. Currently only pterm (PuTTY Terminal) on Linux can show properly unicode characters (like braille characters) for btop, bashtop and bpytop. It is not about the fonts but terminal how it understands the width of fonts.
And if using web terminals like ttyd or shell-in-a-box unicode characters looks good. On Windows PuTTY/KiTTY I use Hack Nerd Font Mono which work well too.

If you're on Windows, Windows Terminal with Cascadia Code (https://github.com/microsoft/cascadia-code). It's released under the Open Font license, and installing on most Linux distros is not that difficult. Nice ligatures for character combos like "www", "!=", and ".=", arrows, and PowerLine support.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.