Convert Figma logo to code with AI

be5invis logoIosevka

Versatile typeface for code, from code.

18,991
570
18,991
90

Top Related Projects

76,660

Free monospaced font with programming ligatures

This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal.

Monospaced font family for user interface and coding environments

JetBrains Mono – the free and open-source typeface for developers

Development repo of Inconsolata Fonts by Raph Levien

25,633

Patched fonts for Powerline users.

Quick Overview

Iosevka is an open-source, customizable, and slender monospace font designed for coding and terminal use. It offers a wide range of stylistic variants and supports multiple writing systems, making it highly versatile for developers and designers.

Pros

  • Highly customizable with numerous stylistic sets and ligature options
  • Supports a wide range of languages and writing systems
  • Optimized for readability at small sizes and on low-resolution displays
  • Actively maintained with frequent updates and improvements

Cons

  • Large file size due to extensive character set and variants
  • Customization process can be complex for beginners
  • May require additional configuration for optimal display in some environments
  • Not pre-installed on most systems, requiring manual installation

Getting Started

To use Iosevka in your projects:

  1. Visit the Iosevka GitHub repository
  2. Download the desired font variants from the "Releases" section
  3. Install the font files on your system
  4. Configure your text editor or IDE to use Iosevka:
body {
  font-family: 'Iosevka', monospace;
}

For custom builds:

  1. Clone the repository
  2. Install Node.js and npm
  3. Run npm install in the project directory
  4. Create a custom build plan (e.g., private-build-plans.toml)
  5. Build the font using:
npm run build -- ttf::iosevka-custom

Refer to the repository's README for detailed customization options and build instructions.

Competitor Comparisons

76,660

Free monospaced font with programming ligatures

Pros of FiraCode

  • Pre-built ligatures for common programming symbols
  • Wider range of supported languages and character sets
  • More extensive community support and adoption

Cons of FiraCode

  • Limited customization options
  • Fixed design, not easily modifiable
  • Larger file size due to pre-built ligatures

Code Comparison

FiraCode:

function isEqual(a, b) {
  return a === b && a !== null;
}

Iosevka:

function isEqual(a, b) {
  return a === b && a !== null;
}

While both fonts render code clearly, FiraCode's ligatures combine certain character combinations (e.g., === and !==) into single glyphs, potentially improving readability for some developers. Iosevka, being more customizable, allows users to enable or disable ligatures and adjust other aspects of the font's appearance.

FiraCode is a ready-to-use font with a focus on programming-specific features, while Iosevka offers a highly customizable font-building system. FiraCode may be preferred by those seeking an out-of-the-box solution, whereas Iosevka appeals to users who want to tailor their font experience. Both fonts are popular choices among developers, with the choice often coming down to personal preference and specific use cases.

This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal.

Pros of Cascadia Code

  • Designed specifically for Windows Terminal and Visual Studio Code
  • Includes programming ligatures for improved readability
  • Officially supported by Microsoft, ensuring regular updates and compatibility

Cons of Cascadia Code

  • Limited customization options compared to Iosevka
  • Fewer weight and style variations available
  • Not as easily configurable for specific use cases or preferences

Code Comparison

Cascadia Code:

if (condition) {
    doSomething();
} else {
    doSomethingElse();
}

Iosevka:

if (condition) {
    doSomething();
} else {
    doSomethingElse();
}

While both fonts render code clearly, Cascadia Code's ligatures may enhance readability for some developers, particularly with certain programming symbols. Iosevka's customizability allows users to tailor the font to their specific preferences, potentially resulting in a more personalized coding experience.

Cascadia Code is an excellent choice for developers working primarily in Microsoft environments, while Iosevka offers greater flexibility and customization options for those who prefer a more tailored font experience across various platforms and text editors.

Monospaced font family for user interface and coding environments

Pros of Source Code Pro

  • Developed by Adobe, ensuring professional design and wide compatibility
  • Extensive language support and character set
  • Well-established and widely used in various IDEs and text editors

Cons of Source Code Pro

  • Limited customization options for users
  • Less frequent updates compared to Iosevka
  • Fewer weight and style variations available

Code Comparison

Source Code Pro:

void example() {
    int x = 10;
    printf("Hello, World!");
}

Iosevka:

void example() {
    int x = 10;
    printf("Hello, World!");
}

While both fonts render code clearly, Iosevka offers more customization options, allowing users to adjust character width, ligatures, and other features to suit their preferences. Source Code Pro provides a consistent, professional look out of the box, but with less flexibility for individual taste.

Iosevka's customization options make it ideal for developers who want to fine-tune their coding environment, while Source Code Pro is better suited for those who prefer a ready-to-use, widely supported font with minimal setup. Both fonts excel in readability and clarity, making them excellent choices for programming and text editing.

JetBrains Mono – the free and open-source typeface for developers

Pros of JetBrainsMono

  • Designed specifically for coding, with features like increased x-height and ligatures
  • Comes with a complete set of weights and italics
  • Includes programming-specific glyphs and symbols

Cons of JetBrainsMono

  • Less customizable than Iosevka
  • Limited language support compared to Iosevka's extensive coverage
  • Fewer style variations available

Code Comparison

Iosevka:

const greet = (name) => {
  console.log(`Hello, ${name}!`);
};

JetBrainsMono:

const greet = (name) => {
  console.log(`Hello, ${name}!`);
};

While both fonts render code clearly, JetBrainsMono's increased x-height and programming-specific features may provide slightly better readability for some users. Iosevka's narrower design allows for more characters per line, which can be beneficial in certain coding scenarios.

JetBrainsMono excels in providing a polished, ready-to-use coding font with carefully designed features for programmers. Iosevka, on the other hand, offers unparalleled customization options, allowing users to tailor the font to their specific needs and preferences.

Ultimately, the choice between these two fonts depends on whether you prioritize out-of-the-box optimization for coding (JetBrainsMono) or extensive customization options (Iosevka).

Development repo of Inconsolata Fonts by Raph Levien

Pros of Inconsolata

  • Well-established and widely recognized monospace font
  • Simpler installation process, as it's a standard font file
  • Readily available in many operating systems and text editors

Cons of Inconsolata

  • Limited customization options compared to Iosevka
  • Fewer variants and weights available
  • Less frequent updates and improvements

Code Comparison

Iosevka:

npm install
npm run build -- ttf::iosevka-custom

Inconsolata:

# No build process required
# Simply download and install the font file

Iosevka offers a highly customizable build process, allowing users to create tailored font variants. Inconsolata, being a pre-built font, doesn't require a build process but offers less flexibility.

Iosevka's build system enables users to generate custom font families with specific features, weights, and styles. Inconsolata, while easier to install, provides a fixed set of options without the ability to create custom variants.

In terms of usage, both fonts are suitable for coding and terminal applications. However, Iosevka's extensive customization options make it more adaptable to individual preferences and specific use cases.

25,633

Patched fonts for Powerline users.

Pros of Powerline Fonts

  • Wider variety of font options and styles
  • Pre-patched fonts for immediate use with Powerline
  • Includes popular programming fonts like Source Code Pro and Hack

Cons of Powerline Fonts

  • Limited customization options for individual fonts
  • Infrequent updates and maintenance compared to Iosevka
  • Some fonts may have inconsistent glyph coverage

Code Comparison

Iosevka:

@font-face {
  font-family: 'Iosevka';
  src: url('iosevka-regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

Powerline Fonts:

@font-face {
  font-family: 'Source Code Pro for Powerline';
  src: url('SourceCodePro-Regular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

Both repositories provide font files for use in development environments, but they differ in their approach. Iosevka is a single, highly customizable font family, while Powerline Fonts offers a collection of pre-patched fonts optimized for use with Powerline. The code comparison shows how to include these fonts in a CSS file, with Iosevka using the modern WOFF2 format and Powerline Fonts typically using OpenType (OTF) format.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README


Iosevka [ˌjɔˈseβ.kʰa] is an open-source, sans-serif + slab-serif, monospace + quasi‑proportional typeface family, designed for writing code, using in terminals, and preparing technical documents.

Installation

Installing from GitHub Releases

  1. Download your font package from releases.
  • For Linux users you could use the following command to download all the TTC packages in the latest release:
    curl -s 'https://api.github.com/repos/be5invis/Iosevka/releases/latest' | jq -r ".assets[] | .browser_download_url" | grep PkgTTC-Iosevka | xargs -n 1 curl -L -O --fail --silent --show-error
    
  1. Quit all your editors / programs.
  2. Unarchive the font package and you will see the font files.
  3. Take actions depending on your OS:
    • Windows: Select the font files and drag into font settings / font control panel page.
      • On Windows 10 1809 or newer, the default font installation is per-user, and it may cause compatibility issues for some applications, mostly written in Java. To cope with this, right click and select “Install for all users” instead. Ref.
    • macOS: Follow instructions here.
    • Linux : Copy the font files to your fonts directory then run sudo fc-cache.

Installing via Package Managers

Disclaimer: This repository does not maintain any package manager distribution. The packages listed below may not always be up-to-date.

  • macOS
    • Standard distribution in Homebrew:
      brew tap homebrew/cask
      brew install --cask font-iosevka
      
    • Search for other variants using brew search font-iosevka and install what you want.
    • Customizable install using Homebrew: see robertgzr/homebrew-tap.
  • Linux
    • Arch Linux: Install one of the ttc-iosevka packages.
    • Ubuntu Linux: Install one of the fonts-iosevka packages.
    • Void Linux: Install the font with xbps-install font-iosevka.
    • Fedora: Install the font(s) from the COPR here. Run dnf search iosevka to discover available fonts and dnf install to install the chosen one(s).
  • FreeBSD: The font can be installed with pkg install iosevka.
  • OpenBSD: Run pkg_info -Q iosevka to see which Iosevka packages are available. Use pkg_add to install the chosen package(s).

Features

In the official package, Iosevka provides 6 monospace subfamilies (sans-serif and slab-serif, each in the 3 spacings Default, Term and Fixed) and 2 quasi-proportional subfamilies (Aile (sans-serif) and Etoile (slab-serif)). In all the monospace subfamilies, 9 weights (Thin to Heavy), 2 widths (Normal and Extended), and 3 slopes (Upright, Italic and Oblique) are included. In the quasi-proportional subfamilies, the quantity of widths is reduced to 1.

Weights sampleWeights sample

All versions include the same ranges of characters: Latin letters, Greek letters (including Polytonic), some Cyrillic letters, IPA symbols and common punctuations and some symbols. You can check out the full list here.

Languages SampleLanguages Sample

235 Supported Languages:

Abkhazian, Afar, Afrikaans, Aghem, Akan, Akoose, Albanian, Anii, Aragonese, Asturian, Asu, Atsam, Azerbaijani, Bafia, Baluchi (bal_latn), Bambara, Basaa, Bashkir, Basque, Belarusian, Bemba, Bena, Betawi, Bosnian, Breton, Bulgarian, Caddo, Catalan, Cebuano, Central Atlas Tamazight, Chechen, Chickasaw, Chiga, Choctaw, Church Slavic, Chuvash, Colognian, Cornish, Corsican, Croatian, Czech, Danish, Duala, Dutch, Embu, English, Erzya, Esperanto, Estonian, Ewe, Ewondo, Faroese, Filipino, Finnish, French, Friulian, Fula, Ga, Galician, Ganda, German, Greek, Guarani, Gusii, Hausa, Hawaiian, Hindi (Latin), Hungarian, Icelandic, Ido, Igbo, Inari Sami, Indonesian, Interlingua, Interlingue, Inuktitut (iu_latn), Irish, Italian, Javanese, Jju, Jola-Fonyi, Kabuverdianu, Kabyle, Kaingang, Kako, Kalaallisut, Kalenjin, Kamba, Kazakh, Kenyang, Kikuyu, Kinyarwanda, Koyra Chiini, Koyraboro Senni, Kpelle, Kurdish, Kuvi, Kwasio, Kyrgyz, Kʼicheʼ, Lakota, Langi, Latin, Latvian, Ligurian, Lingala, Lithuanian, Lojban, Lombard, Low German, Lower Sorbian, Luba-Katanga, Lule Sami, Luo, Luxembourgish, Luyia, Macedonian, Machame, Makhuwa, Makhuwa-Meetto, Makonde, Malagasy, Malay, Maltese, Manx, Mapuche, Masai, Meru, Metaʼ, Mi'kmaw, Mohawk, Moksha, Mongolian, Morisyen, Mundang, Muscogee, Māori, Nama, Navajo, Ngiemboon, Ngomba, Nheengatu, Nigerian Pidgin, North Ndebele, Northern Frisian, Northern Sami, Northern Sotho, Norwegian, Norwegian Bokmål, Norwegian Nynorsk, Nuer, Nyanja, Nyankole, Obolo, Occitan, Oromo, Ossetic, Papiamento, Pijin, Polish, Portuguese, Prussian, Quechua, Riffian, Romanian, Romansh, Rombo, Rundi, Russian, Rwa, Saho, Samburu, Sango, Sangu, Sardinian, Scottish Gaelic, Sena, Serbian, Shambala, Shona, Sicilian, Sidamo, Silesian, Skolt Sami, Slovak, Slovenian, Soga, Somali, South Ndebele, Southern Sami, Southern Sotho, Spanish, Sundanese, Swahili, Swati, Swedish, Swiss German, Tachelhit (shi_latn), Taita, Tajik, Taroko, Tasawaq, Tatar, Teso, Tok Pisin, Toki Pona, Tongan, Tsonga, Tswana, Turkish, Turkmen, Tuvinian, Tyap, Ukrainian, Upper Sorbian, Uzbek, Vai (vai_latn), Venda, Venetian, Vietnamese, Volapük, Vunjo, Walloon, Walser, Warlpiri, Welsh, Western Frisian, Wolof, Xhosa, Yakut, Yangben, Yoruba, Zarma, Zhuang, Zulu

Stylistic Sets

Monospace Iosevka contains various stylistic sets to change the shape of certain characters. Enabling corresponded OpenType feature to enable.

View list of stylistic sets of Iosevka.

Character Variants

Alongside stylistic sets, Monospace Iosevka can also be configured to cherry-pick variants for each character using OpenType. The variants are shown below. To enable, assign the feature tag to the variant index. For example, setting cv26 to 6 will enable single-storey a.

Caution : Certain software may limit the quantity of OpenType features and drop some of them if the feature list is too long. Please validate your feature configuration to ensure that it worked in your software.

View list of character variants of Iosevka.

Ligations

Monospace subfamilies support ligations. Iosevka’s default ligation set is assigned to calt feature, though not all of them are enabled by default.

calt off Ligation Off
calt Default setting in text editors
dlig Discretionary ligatures

Iosevka supports Language-Specific Ligations, which is the ligation set enabled only under certain languages. These ligation sets are assigned to custom feature tags. To use them, you need to turn off calt and enable the corresponded feature. The feature list is:

View list of language-specific ligations.

Please note that, due to the complex interactions when forming ligations, cherry-picking ligation groups will require a custom Iosevka build. The instructions could be seen below.

Building from Source

Read instructions.

For Chinese, Japanese and Korean (CJK) users...

→ Sarasa Gothic.

Mirrors


Family MatrixFamily Matrix