It’s free
& open source

How to install

1
2
3
4
5
6
7
8
9
10
11
12
13
14

fun <T : Comparable<T>> List<T>.quickSort(): List<T> = when {

size < 2 -> this

else -> {

val pivot = first()

val (smaller, greater) = drop(1).partition { it <= pivot }

smaller.quickSort() + pivot + greater.quickSort()

}

}


fun main() {

print(listOf(5, 0, 1, 5, 3, 7, 4, 2).quickSort())

}

Default editor font

in JetBrains IDEs

IntelliJ IDEA Since 2020.1

1.

Increased height for a better reading experience

Explore letter construction

2.

Adapted to reading code

Explore

3.

code-specific ligatures

Explore ligatures

4.

languages

See full list

5.

weights with matching italics

Explore font family

6.

JetBrains Mono is free & open source

Increased letter height for better reading experience

Characters remain standard in width, but the height of the lowercase is maximized. This approach keeps code lines to the length that developers expect, and it helps improve rendering since each letter occupies more pixels.

Comparison

Consider this in contrast to some other fonts. Consolas, for example, has slightly wider letters. However, they are still rather small, which forces you to increase the size by one point to make the font more readable. As a result, lines of code tend to run longer than expected.

JetBrains Mono’s standard-width letters help keep lines to the expected length.

Code-specific eye movement

The shape of ovals approaches that of rectangular symbols. This makes the whole pattern of the text more clear-сut.

The outer sides of ovals ensure there are no additional obstacles for your eyes as they scan the text vertically.


Functional сonstruction

JetBrains Mono’s typeface forms are simple and free from unnecessary details. Rendered in small sizes, the text looks crisper.

The easier the forms, the faster the eye perceives them and the less effort the brain needs to process them.



Distinctiveness of symbols

“1”, “l”, and “I” are all easily distinguishable from each other.

The zero has a dot inside. The letter “O” does not.

The comma’s shape differs from that of the period, making them easier to tell apart at small sizes. The same holds true for derived symbols, as well.


Cut strokes

A radical cut at the end of strokes fits the pixel grid better and gives the typeface a stricter and more ‘tech’ personality.


Italic

The key to good italiсs is the fine-tuning of the contrast between upright and italic font. Typically, the angle is about 11°–12°. JetBrains Mono uses a 9° angle; this maintains the optimal contrast to minimize distraction and eye strain.

Only for “a”, “y”, and “f” is the construction taken from True italic to slightly enhance the horizontal flow for the eyes.

Ligatures for code

A ligature is a character consisting of two or more joined symbols. Traditionally, it was introduced as a space-saving technique in printed texts. In code, this technique is adopted to show operators and is used mainly for two purposes:


1.

To reduce noise by merging symbols and removing details so the eyes are processing less.


2.

To balance whitespace more efficiently by shifting the glyphs in certain cases.

JetBrains Mono font family


regular

Move mouse over the word to change

Basic latin

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

Monospace ligatures

--> // /** /* */ <!-- := ->> <<- -> <- <=> == != <= >= =:= !== && &&& || ... .. /// === ++ -- => |> <| ||> <|| |||> <|||::= |] [| |} {| [< >] :?> :? /= [||] !! ?: ?. :: +++ ?? ## ### #### ::: .? ?= =!= <|> <: :< :> >: <> *** ;; /== .= .- __ =/= <-< <<< >>> <=< <<= <== <==> ==> =>> >=> >>= >>- >- <~> -< -<< << --- <-| <=| \ \/ |=> |-> <~~ <~ ~~ ~~> ~> <$> <$ $> <+> <+ +> <*> <* *> </ </> /> <-> ..< ~= ~- -~ ~@ ^= -| _|_ |- ||- |= ||= #{ #[ ]# #( #? #_ #_( #: #! #=

Diacritics

À Á Ã Ä Å Ā Ă Ą Æ Ç Ć Ĉ Ċ Č Ð Ď È É Ê Ë Ē Ĕ Ė Ę Ě Ĝ Ğ Ġ Ģ Ĥ Ħ Ì Í Î Ï Ĩ Ī Į İ Ĭ Ĵ Ķ Ł Ŀ Ļ Ľ Ĺ Ñ Ń Ň Ņ Ŋ Ò Ó Ô Õ Ö Ø Ō Ŏ Ő Œ Ŕ Ř Ŗ Š Ś Ŝ Ş Ș Ť Ț Ŧ Ţ Ù Ú Û Ü Ũ Ū Ŭ Ů Ű Ų Ŵ Ẁ Ẃ Ẅ Ÿ Ý Ŷ Ž Ź Ż

à á â ã ä å ā ă ą æ ç ć ĉ ċ č đ ď è é ê ë ē ĕ ė ę ě ĝ ğ ġ ģ ĥ ħ ı ì í î ï ĩ ī į ĭ ĵ ȷ ķ ł ŀ ļ ĺ ľ ñ ń ň ņ ʼn ŋ ò ó ô õ ö ø ō ŏ ő œ ŕ ř ŗ š ś ŝ ş ș ț ŧ ţ ť ù ú û ü ũ ū ŭ ů ű ų ŵ ẁ ẃ ẅ ý ÿ ŷ ž ź ż

Other symbols

1 2 3 4 5 6 7 8 9 0 Þ þ ß ƒ ð ſ ∏ ∫ Ω ∆ ∑ π √ ∞ ∂ ≈ ◊ ℓ ℮ ≤ ≥ ~ ‹ › « » − ± × ÷ ¦ < ≠ > * ^ € ‘ ’ “ ” ‚ „ • _ – — ¯ ¬ ™ ® © ¤ ¢ £ ¥ ƒ … · ¡ ¿ ° ª º ¹ ² ³ ⁄ ¼ ½ ¾ ‰ µ ¶ § † ‡ ≠ , . ; : ! ? @ # $ & % ` ~ ^ * ( ) [ ] _ = - + < > // \\ | ' "

Cyrillic

А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я Ё Ђ Ѓ Ґ Є Ѕ І Ї Ј Љ Њ Ћ Ќ Ў Џ

а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я ё ђ ѓ ґ є ѕ і ї ј љ њ ћ ќ ў џ


145 languages supported

Afrikaans

Albanian

Asu

Basque

Belarusian

Bemba

Bena

Bosnian

Bulgarian

Catalan

Cebuano

Chiga

Cornish

Corsican

Croatian

Czech

Danish

Dutch

Embu

English

Erzya

Esperanto

Estonian

Faroese

Filipino

Finnish

French

Friulian

Galician

Ganda

German

Gusii

Hungarian

Icelandic

Ido

Inari Sami

Indonesian

Ingrian (Izhorian)

Interlingua

Irish

Italian

Javanese (Latin)

Jju

Jola-Fonyi

Jèrriais

Kabuverdianu

Kala Lagaw Ya

Kalaallisut (Latin)

Kalenjin

Kamba

Kapampangan (Latin)

Kaqchikel

Karakalpak (Latin)

Karelian (Latin)

Kashubian

Kikongo

Kikuyu

Kinyarwanda

Kiribati

Kirundi

Kurdish (Latin)

Ladin

Latvian

Lithuanian

Lojban

Lombard

Low German

Luo

Luxembourgish

Luyia

Maasai

Macedonian

Machame

Makhuwa

Makhuwa-Meetto

Makonde

Malagasy

Malay

Maltese

Manx

Meru

Mongolian

Morisyen

Māori

North Ndebele

Northern Sami

Northern Sotho

Norwegian Bokmål

Norwegian Nynorsk

Nyanja

Nyankole

Occitan

Oromo

Oshiwambo

Ossetian (Latin)

Papiamento

Piedmontese

Polish

Portuguese

Quechua

Q’eqchi’

Rarotongan

Romanian

Romansh

Rombo

Rotokas

Rundi

Russian

Rwa

Samburu

Sango

Sangu

Sardinian

Scottish Gaelic

Sena

Serbian

Shambala

Shona

Slovak

Slovenian

Soga

Somali

Sorbian (Lower Sorbian)

Sorbian (Upper Sorbian)

South Ndebele

Southern Sotho

Spanish

Swahili

Swati

Swedish

Swiss German

Taita

Taroko

Teso

Tsonga

Tswana

Turkish

Turkmen

Ukrainian

Vunjo

Walloon

Walser

Wolof

Xhosa

Zulu

How to install


In JetBrains IDEs

The most recent version of JetBrains Mono ships with your JetBrains IDE starting with v2019.3.

Select JetBrains Mono in the IDE settings: go to Preferences/Settings → Editor → Font, and then select JetBrains Mono from the Font dropdown.


Another IDE or an older version of a JetBrains IDE

  1. Download font
  2. Unzip the archive and install the font:
    • Select all font files in the folder and double-click them. Click the “Install Font” button.
    • Select all font files in the folder, right-click any of them, then pick “Install” from the menu.
    • Unpack fonts to $/.fonts and execute
      sudo fc-cache -f -v
  3. Restart your IDE.
  4. Go to Preferences/Settings → Editor → Font, and pick JetBrains Mono from the Font dropdown.

Recommended settings for the font

Size: 13
Line spacing: 1.2

License

JetBrains Mono typeface is available under the Apache 2.0 license and can be used free of charge, for both commercial and non-commercial purposes. You do not need to give credit to JetBrains, although we will appreciate it very much if you do.


FAQ

May I install JetBrains Mono on my system and use it in any code editor?
-> Yes.

May I make and print a poster with JetBrains Mono?
-> Yes.

May I use JetBrains Mono in my logotype?
-> Yes.

May I use JetBrains Mono on my website?
-> Yes.

May I use JetBrains Mono in my applications?
-> Yes.

May I design my own font based on JetBrains Mono?
-> Yes. In this case, you need to indicate that it is based on JetBrains Mono.


Credits

Type designer

Philipp Nurullin

Project lead

Konstantin Bulenkov

Thanks to

Nikita Prokopov
Eugene Auduchinok
Dmitrij Batrak
Tatiana Tulupenko
IntelliJ UX Team
+ the whole JetBrains Team