Flagship themes
GitHub Colorblind (Primer) — protanopia & deuteranopia
The most widely deployed CVD themes in existence: shipped to every github.com user (beta announcement, 2021-09-29, renamed “Protanopia & Deuteranopia”, 2022-04-19), generated from design tokens in primer/primitives (MIT) and consumed downstream by the GitHub VS Code theme, the Neovim port projekt0n/github-nvim-theme, iTerm2 ports, and base16/tinted-theming schemes. Separate Tritanopia variants exist (changelog).
The signature move: dark-mode fgColor-success #3fb950 (green) → #58a6ff (blue);
fgColor-danger #f85149 (red) → #f0883e (orange).
| bg | fg | keyword | func | string | number | type | comment | |
|---|---|---|---|---|---|---|---|---|
| Dark | #0d1117 | #e6edf3 | #ec8e2c | #d2a8ff | #a5d6ff | #79c0ff | #ffa657 | #8b949e |
| Light | #ffffff | #1f2328 | #b35900 | #6639ba | #0a3069 | #0550ae | #953800 | #57606a |
Note the tritanopia row: it is the only simulation where these hues visibly shift — this theme pair targets red-green CVD; GitHub ships separate tritanopia themes for that axis.
Modus themes (Emacs) — deuteranopia & tritanopia
By Protesilaos Stavrou. Canonical in Emacs (built-in since Emacs 28;
protesilaos.com/emacs/modus-themes,
repo, GPL-3.0). Four dedicated CVD variants:
modus-operandi-deuteranopia / -tritanopia (light), modus-vivendi-deuteranopia / -tritanopia
(dark). The whole family is WCAG AAA (≥7:1 contrast); CVD variants additionally re-route
semantic colors off the confused axis. Ported to
Neovim and
Zed (all 8 variants), plus iTerm2.
| bg | fg | red | green | yellow | blue | magenta | cyan | |
|---|---|---|---|---|---|---|---|---|
| Operandi (light) | #ffffff | #000000 | #a60000 | #006800 | #695500 | #0031a9 | #721045 | #005e8b |
| Vivendi (dark) | #000000 | #ffffff | #ff5f59 | #44bc44 | #cabf00 | #2fafff | #feacd0 | #00d3d0 |
ef-themes (Emacs) — the second CVD Emacs family, errors remapped to yellow
Also by Protesilaos Stavrou (repo, GPL-3.0; GNU ELPA +
MELPA as ef-themes). Alongside modus, this is the second CVD-specific Emacs family — the ef CVD quartet: ef-deuteranopia-dark, ef-deuteranopia-light,
ef-tritanopia-dark, ef-tritanopia-light. The signature design move is different from modus:
semantic mappings route err → yellow-warmer and warning → yellow-cooler, so errors are
yellow, not red. Source comment: “Most of the colors here, like the red and green hues, are
defined simply to preserve compatibility… We don’t actually rely on them for anything critical.”
| bg | fg | red | green | yellow | blue | magenta | |
|---|---|---|---|---|---|---|---|
| ef-deuteranopia-dark | #000a1f | #ddddee | #cf8560 | #3faa26 | #aa9f32 | #3f90f0 | #b379bf |
| ef-deuteranopia-light | #f5f5ff | #1a1a2f | #d3303a | #217a3c | #805d00 | #375cd8 | #ba35af |
The four Ef variants ship in WezTerm’s built-in scheme index (Ef-Deuteranopia-Dark/Light,
Ef-Tritanopia-Dark/Light) alongside three Modus ports — making WezTerm one of the few terminals
with first-party CVD schemes.
Pierre — four CVD themes with a build-time simulation gate
From Pierre Computer Company: pierre-{light,dark}-{protanopia-deuteranopia,tritanopia}
(repo, npm
@pierre/theme, Apache-2.0; also generates Zed and
VS Code themes). The most rigorously engineered entry in this report: packages/theme/ACCESSIBILITY.md
documents a hard build gate that simulates every chromatic role under Machado (2009) in both
linear-RGB and gamma-sRGB and fails the build if CIEDE2000 ΔE < 11 (diffs, merges, terminal
red/green) or < 8 (diagnostics, core syntax). Signals remap to the preserved axis: blue↔orange for
red-green CVD, red↔teal/cyan for tritanopia.
datum — Okabe–Ito hues, rebuilt in OKLCH
By w0zro (repo, site, MIT, 2026) — the newest entry. Hue angles anchored on the Okabe–Ito set, placed in OKLCH, “verified against WCAG 2.2 and APCA” and simulated against all three dichromacies. Ships for Neovim/Vim, VS Code, Ghostty, Kitty, Alacritty, WezTerm, tmux, fzf, bat, delta, and in iTerm2-Color-Schemes. Dark + light.
| bg | fg | blue | green | cyan | yellow | orange | pink | |
|---|---|---|---|---|---|---|---|---|
| Dark | #0f1318 | #ced3d9 | #69b9f7 | #54dcaa | #6ae5ec | #e8df69 | #f8bd5f | #fa94cd |
| Light | #f1f6fd | #242a30 | #0176b8 | #007553 | #0d7a7f | #976700 | #a24500 | #973070 |



















