Is your terminal theme lying to you?
Every terminal theme ships 16 ANSI colours and absolutely no rules. "Bright" is a suggestion. Bright black, the colour most apps use for secondary text, is often a rumour. Pick a theme and we'll run real WCAG 2 contrast maths on it (4.5:1 for text, 3:1 for UI), and then we'll be honest about it.
Every colour, measured against its own background.
Each tile shows a colour as text on your background, the way your terminal actually renders it. The number is its WCAG contrast ratio. Bright colours are checked against their normal twins.
A verdict card, drawn in your own theme.
It's 1200 × 630, sized for link previews, and rendered pixel by pixel in your palette, including the bright black you insisted on.
- i.Just use the user's 16 ANSI colours.🧠
- ii.Convert them to OKLCH, so "lighter" means lighter to an actual human eye.🧠
- iii.Nudge them in OKHSL, cap the chroma and apply a bell-shaped saturation falloff, because Catppuccin's pale pink
#f4b8e4came out hot pink#eb76d1"at the same saturation". It was fixed to#cc92bd.🧠 - iv.Have a coding agent fit a fifth-degree polynomial to the contrast algorithm, ship only the coefficients, and call it "respecting user choice."contrast(L) ≈ c₀ + c₁L + c₂L² + c₃L³ + c₄L⁴ + c₅L⁵🧠
Put your theme on the stand.
This terminal uses your theme's raw colours, with nothing adjusted for you. Run something that looks familiar, like git diff or npm test, then type lie to mark every span that wouldn't clear 4.6:1. Press ` anywhere to open it as a drop-down console.
A note on the colours: this page is wearing your theme, but it doesn't take it on trust. Like Pi, it moves each accent in OKLCH until its own text clears 4.6:1. The tiles above are left exactly as your theme defines them.
The floating bar above was envisioned by Seb Van Papple, visionary of navigation, who looked upon a long page and declared: let there be a way back up. Generations of scrollers, as yet unborn, stand forever in his debt.