Convert Figma logo to code with AI

microsoft logocascadia-code

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.

25,603
801
25,603
139

Top Related Projects

76,660

Free monospaced font with programming ligatures

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

Monospaced font family for user interface and coding environments

18,991

Versatile typeface for code, from code.

9,552

The package of IBM’s typeface, IBM Plex.

Quick Overview

Cascadia Code is a monospaced font designed by Microsoft specifically for modern development environments and terminal applications. It features programming ligatures, a wide range of Unicode symbols, and is optimized for readability in coding scenarios.

Pros

  • Includes programming ligatures for improved code readability
  • Supports a wide range of Unicode characters and programming symbols
  • Designed with modern IDEs and terminal applications in mind
  • Open-source and freely available for use

Cons

  • May not be suitable for all programming styles or preferences
  • Ligatures can sometimes cause confusion for beginners
  • Limited customization options compared to some other programming fonts
  • Requires manual installation on some systems

Getting Started

To use Cascadia Code in your development environment:

  1. Download the font files from the GitHub releases page.
  2. Install the font on your system:
    • Windows: Right-click the font file and select "Install"
    • macOS: Double-click the font file and click "Install Font"
    • Linux: Copy the font file to ~/.local/share/fonts/ and run fc-cache -f -v
  3. Configure your IDE or terminal application to use Cascadia Code as the default font.

For example, in Visual Studio Code, add the following to your settings.json:

{
  "editor.fontFamily": "'Cascadia Code', Consolas, 'Courier New', monospace",
  "editor.fontLigatures": true
}

Competitor Comparisons

76,660

Free monospaced font with programming ligatures

Pros of FiraCode

  • Wider range of ligatures and programming symbols
  • Longer development history and more established user base
  • Available in multiple weights (Light, Regular, Medium, Bold)

Cons of FiraCode

  • Less focus on readability at smaller sizes
  • Fewer stylistic alternates and customization options
  • Not specifically designed for Windows terminal environments

Code Comparison

FiraCode:

if (x => 0 && x <= 10) {
  console.log("x is between 0 and 10");
}

Cascadia Code:

if (x >= 0 && x <= 10) {
  console.log("x is between 0 and 10");
}

The main difference in this example is the rendering of the >= operator. FiraCode uses a single ligature for =>, while Cascadia Code maintains separate characters for better readability.

Both fonts offer excellent programming-focused features, but FiraCode provides a broader range of ligatures and has been around longer. Cascadia Code, on the other hand, is optimized for Windows environments and offers better readability at smaller sizes. The choice between the two often comes down to personal preference and specific use cases.

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

Pros of JetBrainsMono

  • More extensive ligature support, enhancing code readability
  • Wider range of supported languages and special characters
  • Optimized for various IDEs and text editors beyond JetBrains products

Cons of JetBrainsMono

  • Less focus on terminal-specific optimizations compared to Cascadia Code
  • May not integrate as seamlessly with Windows Terminal and other Microsoft products
  • Slightly narrower character width, which some developers may find less comfortable for extended coding sessions

Code Comparison

JetBrainsMono:

def example_function():
    return [x for x in range(10) if x % 2 == 0]

Cascadia Code:

def example_function():
    return [x for x in range(10) if x % 2 == 0]

While both fonts render code clearly, JetBrainsMono's ligatures make certain combinations like == more distinct, potentially improving code readability. Cascadia Code, on the other hand, maintains a slightly wider character width, which some developers prefer for extended coding sessions.

Both fonts are excellent choices for programming, with JetBrainsMono offering more extensive language support and ligatures, while Cascadia Code provides better integration with Microsoft products and a focus on terminal use.

Monospaced font family for user interface and coding environments

Pros of Source Code Pro

  • Longer development history, more mature and stable
  • Wider range of weights and styles available
  • Extensive language support with multiple scripts

Cons of Source Code Pro

  • Less focus on modern coding-specific features
  • May not render as crisply on some displays
  • Fewer ligatures and programming-oriented glyphs

Code Comparison

Source Code Pro:

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

Cascadia Code:

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

While the code appears identical, Cascadia Code offers programming ligatures that can transform certain character combinations (e.g., >=, !=, =>) into single, more readable glyphs. Source Code Pro maintains traditional character rendering, which some developers prefer for clarity and consistency across different environments.

Both fonts are excellent choices for coding, with Source Code Pro offering a classic, widely-supported option and Cascadia Code providing a more modern, feature-rich alternative tailored specifically for programming needs.

18,991

Versatile typeface for code, from code.

Pros of Iosevka

  • Highly customizable with numerous build options
  • Supports a wide range of languages and scripts
  • Compact design, ideal for coding in limited screen space

Cons of Iosevka

  • Requires building from source for custom variants
  • May have a steeper learning curve due to extensive customization options
  • Less conventional appearance, which some users may find less readable

Code Comparison

Cascadia Code:

function example() {
    let x = 10;
    console.log(`The value is ${x}`);
}

Iosevka:

function example() {
    let x = 10;
    console.log(`The value is ${x}`);
}

Summary

Iosevka offers extensive customization and language support, making it versatile for various coding needs. However, it requires more setup and may not suit everyone's aesthetic preferences. Cascadia Code, while less customizable, provides a more conventional and readily usable coding font out of the box.

Both fonts are monospaced and designed for coding, but their visual styles differ. Iosevka tends to be narrower and more compact, while Cascadia Code has a more traditional appearance with optional ligatures. The choice between them often comes down to personal preference and specific use cases.

9,552

The package of IBM’s typeface, IBM Plex.

Pros of Plex

  • Offers a wider variety of font styles and weights
  • Supports a broader range of languages and scripts
  • Provides both serif and sans-serif options

Cons of Plex

  • Larger file sizes due to extensive character sets
  • May require more system resources to render

Code Comparison

While both Cascadia Code and Plex are primarily font projects, they don't contain comparable code. However, here's an example of how to use each font in CSS:

Cascadia Code:

body {
  font-family: 'Cascadia Code', monospace;
}

Plex:

body {
  font-family: 'IBM Plex Sans', sans-serif;
}

Summary

Plex offers a more comprehensive font family with greater language support and style options, making it suitable for diverse design needs. However, this comes at the cost of larger file sizes. Cascadia Code, while more focused, excels as a monospaced font for coding environments. The choice between the two depends on specific use cases and design requirements.

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

Cascadia Code

About Cascadia Code

Cascadia is a fun new coding font that comes bundled with Windows Terminal, and is now the default font in Visual Studio as well.

Font Variants

  • Cascadia Code: standard version of Cascadia
  • Cascadia Mono: a version of Cascadia that doesn't have ligatures
  • Cascadia (Code|Mono) PL: a version of Cascadia that has embedded Powerline symbols
  • Cascadia (Code|Mono) NF: a version of Cascadia that has Nerd Font symbols

For the italic, there is a standard italic and a cursive variant accessible via ss01 (see below).

Font features

Coding Ligatures

Arrow Support

Stylistic Sets

Enabling stylistic sets will vary between applications. For example, in VS Code, you can enable stylistic sets (and other OpenType features) via settings.json:

"editor.fontLigatures": "'ss01', 'ss02', 'ss03', 'ss19', 'ss20'"

To enable the Cursive form of the italic, here's the code you should use:

"editor.fontLigatures": "'calt', 'ss01'",

If you're using an environment that does not support the ss01 OT feature, one option to consider is opentype-feature-freezer.

Character Sets

Cascadia Code Cascadia Code Italic Symbols for Legacy Computing and other block elements

Installation

You can download the latest version of Cascadia Code from the releases page here: https://github.com/microsoft/cascadia-code/releases

Font formats:
  • ttf variable: we recommend this version for all users, and particularly those on Windows or any other OS that employs TrueType hinting. It offers the greatest diversity of weight options (anything from 200-700).
  • ttf static: in the rare situation where the above variable font version is not supported, or a singular weight is preferred to the entire range, static formats are supplied. However, please note they do not have the same degree of hinting quality as the variable font versions.
  • otf static: for users who prefer OTF format fonts, otf static instances are provided. At this time we do not have a variable font OTF version.
  • WOFF2: These versions are provided for the purposes of web use, and are available both as variable fonts, and static instances.

Once unzipped, right-click the font file and click Install for all users. This will install the font onto your machine.

👉 Note: If you have previously installed a version of Cascadia Code, please uninstall the previous version prior to installing a new version. Not doing so can result in improper rendering.

For more details and app-specific instructions, please check the wiki.

Get involved

Instructions on how to modify and submit an update to the Cascadia Code source is available in the wiki.

Communicating with the Team

The easiest way to communicate with the team is via GitHub Issues. Please file new issues, feature requests and suggestions, but DO search for similar open/closed pre-existing issues before you do.

Please help us keep this repository clean, inclusive, and fun! We will not tolerate any abusive, rude, disrespectful or inappropriate behavior. Read our Code of Conduct for more details.

If you would like to ask a question that you feel doesn't warrant an issue (yet), please reach out to us via Twitter:

Aaron Bell, Font Designer: @aaronbell

Christopher Nguyen, Product Manager: @nguyen_dows

Dustin Howett, Software Engineer: @DHowett

Special thanks to:

  • Fira Code – OpenType code for the coding ligatures – github
  • Nerd Fonts – Centralizing app iconography – github
  • Viktoriya Grabowska – Designer of Cyrillic Italic and Consultant – @vika_grabowska
  • Mohamad Dakak - Arabic designer - @mohamaddakak
  • Liron Lavi Turkenich - Hebrew designer - @LironLaviTur
  • Gerry Leonidas – Greek Consultant – @gerryleonidas
  • Donny TrÆ°Æ¡ng – Vietnamese Consultant – Vietnamese Typography

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.