Our favorite fonts for the Linux terminal

Our favorite fonts for the Linux terminal
Jim Hall
Wed, 04/05/2023 – 03:00

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 80×25, 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

Here is an entirely subjective list of some fun fonts for your Linux console.

Terminal view

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


Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.
4708 points

Alan Formy-Duval Opensource.com Correspondent
United States

Alan has 20 years of IT experience, mostly in the Government and Financial sectors. He started as a Value Added Reseller before moving into Systems Engineering. Alan’s background is in high-availability clustered apps. He wrote the ‘Users and Groups’ and ‘Apache and the Web Stack’ chapters in the Oracle Press/McGraw Hill ‘Oracle Solaris 11 System Administration’ book. He earned his Master of Science in Information Systems from George Mason University. Alan is a long-time proponent of Open Source Software.

User Attributes

46 points

Picture of RachieVee

I’m a WordPress developer who has a keen interest in accessibility. #a11y I’m also a technical writer and I share my WordPress and coding experiences on my blog.

1173 points

Ricardo's picture
Toronto

Ricardo Gerardi is Technical Community Advocate for Enable Sysadmin and Enable Architect. He was previously a principal consultant at Red Hat Canada, where he specialized in IT automation with Ansible and OpenShift.

He has been a Linux and open source enthusiast and contributor for over 20 years. He is currently interested in hacking stuff using the Go programming language, and he’s the author of the book Powerful Command-Line Applications in Go. Ricardo also writes regularly about Linux, Vim, and command line tools for the community publications Opensource.com and Enable Sysadmin.

Ricardo enjoys spending time with his daughters, reading science fiction books, and playing video games.

| Connect ricardogerardi

17 points

User profile image.
Salt Lake City

I am a Software Engineer for Pantheon. I’ve been building things with WordPress since around 2007. Before that, I played with various other open source platforms and the first incarnation of my blog was written entirely in HTML. Originally a designer, I graduated from the University of Redlands, Johnston Center, with a self-made degree titled Creative Arts in the Digital Revolution, which combined my loves for music, visual art, film and writing using computers as a medium for all of them.

I have worked as a freelance designer and developer, for a premium WordPress plugin developer, as well as in development agencies like WebDevStudios and Human Made. I’ve also authored many WordPress training courses (now retired) on the online learning platform, Pluralsight.

When I’m not working, I’m probably playing, planning or reading about Dungeons & Dragons and tabletop role-playing games.

| Connect chrissreynolds

3 Comments

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.