Light, measured for tired eyes.

14 light and 2 dark themes for terminals and editors, tuned so you can read code all day — without the glare of pure white or the harshness of pure black.

ink : paper ≥ 7:1 (AAA) · every token ≥ 4.5:1 (AA)
never #ffffff · never #000000

billing.ts — 1 error, 1 warning
// billing.ts
type Invoice = { id: string; cents: number }
function totalDue(invoices: Invoice[]): number {
return invoices
.filter((i) => i.cents > 0)
.reduce((sum, i) => sum + i.cetns, 0) // no 'cetns'
}
const unused = totalDue([]) // warning: never read

01 · Sepia Paper · warmopen in the gallery

Why most light themes hurt

They're too bright and too saturated. Candela is for people who like dark mode but can't use it comfortably — prescription lenses, astigmatism, glare sensitivity, plain eye strain. A few hard rules fix both:

Every rule is explained, with sources, in the vision research.

  • Soft paper, never pure white. Off-white backgrounds kill the glare.
  • Dark-gray ink, never pure black. AAA contrast without the harshness.
  • Desaturated accents. Saturated text is what makes astigmatic eyes see colored fringes.
  • Blue and orange carry the meaning. They stay distinct for almost every kind of color blindness.
  • Same colors, same meaning, every theme. Switching never makes you relearn the screen.

All 16 themes

Every palette is authored in one JSON source and generated for iTerm2, Alacritty, Kitty, WezTerm, Ghostty, VS Code, JetBrains, Zed, Sublime, Neovim, and Helix. Fork one or build your own in the Theme Editor, or grab install instructions from the README on GitHub.