Sergamon

Pixel-perfect monospaced font for code. No ligatures. No surprises.

3837 glyphs | 8x16 pixel grid | No ligatures | SIL Licensed
Type to try

Code Preview

See how Sergamon renders real code. Switch languages or type your own.

16px
1.0
0px

Font Comparison

The same code rendered in Sergamon and popular programming fonts.

Philosophy

These principles guided the design of Sergamon from the very beginning. For the best experience, set up your editor according to them.

W

Single Weight

Inspired by classic terminals. No bold.

-- same
font-weight: 400 font-weight: 700
=>

No Ligatures

What you type is what you see.

== is not ══
!= is not ≠
=> is not ⇒

Line Height 1.0

Each pixel matters. No space between rows

-- pixel-perfect:
line-height: 1

Letter Spacing 0

Glyphs are designed to tile on the pixel grid.

-- pixel-perfect:
letter-spacing: 0

Distinguishability Test

Commonly confused characters rendered side-by-side at multiple sizes.

Characters 16px 24px 32px

Character Grid

Browse all available glyphs. Hover over any character to see it enlarged.

Installation

Get Sergamon set up in your favorite environment.

Recommended settings

Sergamon is a pixel-art font. For best results, disable anti-aliasing (font smoothing), disable bold text, and set letter-spacing to 0. Some programs (e.g. iTerm2) artificially synthesize bold when no bold variant exists -- this distorts the glyphs. Sergamon has a single weight by design.

Option 1: Manual install

Download the TTF files from the latest release, then double-click to open in Font Book.

curl -LO https://github.com/sgmonda/sergamon/releases/latest/download/Sergamon.ttf
open Sergamon.ttf

Option 2: Copy to Fonts directory

cp Sergamon.ttf ~/Library/Fonts/

Manual install

Download the TTF files from the latest release, right-click each file, and select "Install for all users".

# PowerShell
Invoke-WebRequest -Uri "https://github.com/sgmonda/sergamon/releases/latest/download/Sergamon.ttf" -OutFile "$env:TEMP\Sergamon.ttf"
Copy-Item "$env:TEMP\Sergamon.ttf" "C:\Windows\Fonts\"

Install to user fonts

mkdir -p ~/.local/share/fonts
curl -LO https://github.com/sgmonda/sergamon/releases/latest/download/Sergamon.ttf
mv Sergamon.ttf ~/.local/share/fonts/
fc-cache -fv

Step 1: Install the font on your system

Follow the instructions for your OS above, then restart VS Code.

Step 2: Update settings.json

{
  "editor.fontFamily": "'Sergamon', 'Courier New', monospace",
  "editor.fontSize": 16,
  "editor.lineHeight": 1,
  "editor.letterSpacing": 0,
  "editor.fontLigatures": false,
  "editor.fontWeight": "normal",
  "terminal.integrated.fontWeight": "normal",
  "terminal.integrated.fontWeightBold": "normal",
  "terminal.integrated.letterSpacing": 0
}

Step 1: Install the font on your system

Follow the instructions for your OS above, then restart IntelliJ.

Step 2: Configure the editor font

Go to Settings → Editor → Font and set:

Font:              Sergamon
Size:              16
Line height:       1
Enable ligatures:  unchecked

Step 3: Disable anti-aliasing

Go to Settings → Appearance & Behavior → Appearance and set both Antialiasing dropdowns (IDE and Editor) to No antialiasing.

Step 1: Install the font on your system

Follow the instructions for your OS above, then restart Zed.

Step 2: Update settings.json

Open settings with Zed → Settings → Open Settings (or Cmd+,) and add:

{
  "buffer_font_family": "Sergamon",
  "buffer_font_size": 16,
  "buffer_line_height": {
    "custom": 1.0
  },
  "buffer_font_features": {
    "liga": false,
    "calt": false
  }
}

macOS Terminal.app

Preferences → Profiles → Font → Change → Select "Sergamon" (size 16).

iTerm2

Preferences → Profiles → Text → Font → Select "Sergamon". Then uncheck "Draw bold text in bold font" and "Draw bold text in bright colors".

Windows Terminal

{
  "profiles": {
    "defaults": {
      "font": {
        "face": "Sergamon",
        "size": 16
      },
      "intenseTextStyle": "none"
    }
  }
}

Alacritty

[font]
normal = { family = "Sergamon", style = "Regular" }
bold = { family = "Sergamon", style = "Regular" }
size = 16.0