Fonts Are Important
When you're looking at the computer screen all day, fonts become important. A good font can reduce eye strain and provide better
readibility and clarity than a bad one. A good font can aid in preventing various software bugs from happening in the first place. Fonts are important.
The most important considerations for me when it comes to sys fonts are:
1. Font style - typically the cleaner the font looks, the less strain on the eye. Sans Serif fonts are easier to read on digital
screens as each letter is sharper and clearer.
2. Font kerning - the kerning of the font is the spacing between the letters. The more spacing, the more you have to move your eyes to read. A slightly condensed font is better for preventing eye fatigue as there will be less eye movement throughout the day.
3. Readibility - the ability to distinguish between similar letters is important for preventing typos & software bugs.
4. Information Density - how much information fits cleanly on the screen. The more information that is visibile in a clean way, the better. If the letters are too close together or too far apart it can affect readability and increase eye fatigue.
5. Look & Feel - how does the font make you feel? Some fonts can really piss you off while others actually make you feel good. If you don't believe me, trying coding in Comic Sans all day.
Fonts Reviewed
There are a lot of fonts out there. Once you start looking at programming fonts you'll notice that most are monospaced and they all start looking very similar. I've literally looked at over 100,000 fonts. If the font isn't on this list it's because I believe there is one here that is better.
These are the best free coding fonts I've found to date. There are mono & variable spaced fonts depending on your preference. For programming, most people prefer monospaced fonts. However, some people prefer variable spaced fonts so I've included the cleanest fonts that work well for programming. For the Linux terminal, monospace is obviously going to be the best.
Quick Note: All fonts are rendered at 16px. Due to the specific font's kerning and character width you will notice that some fonts over flow the div window and some fit in nicely. This demonstrates the information density and may help you determine whether or not you like it for that font. Personally, I prefer fonts that are slightly condensed.
Allerta View on Google Fonts
Static spaced, no ligatures - Originally designed for use in signage. This font is very clean & allows for easy differentiation between similar characters.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
AR One Sans View on Google Fonts
Variable spaced, no ligatures - Originally designed for Augmented Reality environments. This font is super clean & easy on the eyes.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Atkinson Hyperlegible View on Google Fonts
Static spaced, no ligatures - This font is designed to be hyper legible. It is super clean & easy on the eyes. Good for people with low vision.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Camingo Code View on Website
Mono spaced, no ligatures - This font is designed for source code editors. It has several specially drawn glyphs that work well at small sizes, including Q, I, &, *, ~ and #.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Envy Code R View on Website
Mono spaced, no ligatures - This is a super clean font that looks great all around.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Finlandica View on Google Fonts
Variable spaced, no ligatures - The official typeface of Finland. A very clean font with a modern look that works well.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Fira Code View on Google Fonts
Mono spaced, ligatures - A well loved font with good readibility.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Geist Mono View on Google Fonts
Variable spaced, no ligatures - This font is another super clean & easy on the eyes & it has ligatures.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Hack View on Website
Variable spaced, no ligatures - Hack is a clean font designed for source code with over 1,500 glyphs.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
IBM 3270 View on Website
Variable spaced, no ligatures - For those of you that love old school fonts, IBM 3270 is the OG.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Inclusive Sans View on Google Fonts
Variable spaced, no ligatures - This is a super clean font designed for accessibility & readability. This is as clean as it gets!
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Iosevka View on Website
Mono spaced, ligatures - This is a great font designed for computer terminals & supports 236 languages.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
JetBrains Mono View On Google Fonts
Mono spaced, ligatures - This is a good font with ligatures designed specificaly for software developers.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
M Plus 1 Code View on Google Fonts
Mono spaced, no ligatures - A clean, condensed font designed for programming. Looks great in small font sizes.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
MonoidView On Website
Mono spaced, ligatures - This is a good font optimized for coding & looks good at low resolutions & small font sizes.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
NK57 Monospace View on Website
Mono spaced, no ligatures - A clean typeface designed for programming. It has 60 different styles designed for high resolution screens making it ideal for modern coding.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Roboto Mono View on Google Fonts
Mono spaced, no ligatures - This is a clean font with good readability on a variety of screen sizes & devices.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Share Tech Mono View on Google Fonts
Mono spaced, no ligatures - A great modern looking font that offers good readability & a slight futuristic feel.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Source Code Pro View on Google Fonts
Mono spaced, no ligatures - A great looking font that works well.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...
Victor Mono View on Google Fonts
Mono spaced, ligatures - a clean font designed specifically for coding with ligatures & flowing italics.
Example PHP Code: public function encrypt($dek, $data) { $dek = hex2bin($dek); $iv = random_bytes(12); $tag = ''; // Encrypt the data using AES 256 encryption in GCM mode using our encryption key and initialization vector. $encrypted = openssl_encrypt($data,'aes-256-gcm',$dek,OPENSSL_RAW_DATA,$iv,$tag,'',16); return base64_encode($iv) . base64_encode($encrypted . $tag); } Alphabet: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Similar characters: iIlL1 oO08 CGQ Numbers: 0 1 2 3 4 5 6 7 8 9 Symbols: + - $ * _ : ; ' " / | \ . , @ & ( ) [ ] { } < > Ligatures: == === != !== <= >= <> -> --> !! ?? && || Text: Follow the white rabbit... Follow the white rabbit... Follow the white rabbit...