Count Darcula Wallpapers
The Count Darcula mark: a grinning vampire inside a neon ring.

A Zed theme for long nights

by CN-DESIGN

New Count Darcula 2.0 — a palette of its own

Meaning by hue.
Never by brightness.

Cool slate greys, lit by eight saturated accents and led by one electric colour, Volt. Every syntax colour sits at the same perceptual lightness, so nothing outshouts its neighbour, the eye stops re-adapting every few characters, and hour nine feels like hour two.

0.2L* spread
across syntax
7.78:1lowest syntax
contrast
0text colours
below AA
139Zed style
keys
count-darcula Count Darcula Dark

The idea

Vivid colour,
without the flicker.

Most themes pick vivid colours and live with the side effect: yellow is naturally brighter than blue, so a line of code flickers between loud tokens and quiet ones. Count Darcula removes the side effect instead of the vividness. Three rules do it.

01

One brightness for every accent

All eight syntax colours share one perceived lightness — L 78 in this variant. Hue tells you what a token is. Brightness never does.

02

Saturation is maxed out

Each accent is pushed as far as a normal screen can show at that lightness. That is where the vibrancy comes from, without anything getting brighter.

03

Nothing pure

No pure-white text, no pure-black background. Every text colour still clears the WCAG AA minimum of 4.5:1.

Contrast, accent by accent

on the Dark canvas #241b21

Every accent at L 78, a contrast band of 6.56 to 7.53:1 — half of them past AAA.

The palette

Eight names, one lightness.

Its own palette, with its own names. Each hue owns one slice of the wheel and one job in your code. Volt leads; the other seven keep time. Click any swatch to copy its hex.

The neutral ramp

Twelve steps on one hue — 272°, a cool slate with just enough chroma to keep the greys from reading as dead. Every surface in Zed is one of these.

Status

Errors, warnings, info and success sit outside the syntax band, so a diagnostic never reads as code.

Colour means one thing everywhere

Learn it once and every file reads the same way — TypeScript, Rust, Python, CSS, Markdown. Your own variables stay the default text colour, and deliberately the quietest thing on screen.

Italics appear only where slant carries information colour cannot: comments, parameters, attributes and this/self.

The variants

After dark, and before dawn.

Two variants, one file. Dark and Light share every hue and every role; Light simply drops the whole band to one darker lightness so it holds its contrast on paper. Pick one to wear the whole page in it.

What's new in 2.0

Same Count.
A new bloodline.

Version 2.0 gives Count Darcula accents, names and colour roles of its own, and narrows its focus to one editor. Every token changed colour; none kept the one it had in 1.2. The slate greys underneath stay exactly as they were.

At a glance

Area1.2.02.0.0

Every role, reassigned

TokenWasNow

Dark values shown.

Changed

  • New accents — eight named colours, new hues and a new role table. The slate greys are unchanged.
  • Renamed variants — Count Darcula Dark and Count Darcula Light.
  • Better colour maths — out-of-gamut colours give up saturation and keep their hue and brightness, instead of being clipped off target.

Added

  • Palette cards — generated by the build and checked by CI, so they always match the theme.
  • More contrast in Dark — the syntax band rises from 6.19–6.87:1 to 6.56–7.53:1 on the same canvas.

Retired

  • VS Code and Cursor — Count Darcula is now Zed only.
  • Bloodline and Nocturne, and the OLED power model only Nocturne needed.
  • Daylight becomes Count Darcula Light.
Upgrading from 1.x? The variant names changed, so Zed will fall back to its default theme until you pick Count Darcula Dark or Count Darcula Light again — and update the theme block in your settings if you follow the system appearance. The Count Darcula name and the mascot stay exactly where they were.

Accessibility

Measured twice, then shipped.

A swatch that passes on the canvas can still fail on a panel, in the terminal, or with alpha composited over whatever sits beneath it. So every text colour in the generated Zed theme is re-measured against the surface Zed actually draws it on. The build fails if anything drops below AA.

●●● npm test

      

What is held to the bar, per variant

CheckedWhatRequired

Disabled, hidden and predictive text is deliberately quieter — WCAG exempts it, and an inline suggestion that met AA would read as code you had already written. Comments are not in that tier: a comment nobody can read is a comment nobody maintains. They recede through lower chroma and italics, not by going dim.

Install

One file, about a minute.

Count Darcula is built for Zed. Both variants live in one theme file, generated from the same OKLCH palette as everything on this page. Drop it where Zed looks for themes, and you're done.

139style keys
46tree-sitter captures
8collaborator cursors
1file, both variants
01

Drop it where Zed looks for themes

One file. Zed reloads themes as the file changes — no restart.

Terminal — macOS & Linux
mkdir -p ~/.config/zed/themes
curl -o ~/.config/zed/themes/count-darcula.json \
  https://raw.githubusercontent.com/ChrisNicholson30/Count-Darcula-Theme/main/zed/themes/count-darcula.json
02

Or symlink a clone — best if you want updates

A git pull then keeps the theme current, live.

Terminal — macOS & Linux
03

Or install it as a dev extension

The only route that needs no path at all — use it on Windows.

zed/ is a valid Zed extension in its own right (extension.toml plus themes/). In Zed, open Extensions ▸ Install Dev Extension and choose the zed/ folder of your clone. On Windows this is the route to take: Zed keeps its config under %APPDATA%\Zed rather than ~/.config/zed, and the dev-extension flow sidesteps the path entirely.

04

Pick a variant

Zed lists both separately in its theme picker.

⌘ K then ⌘ T — or Ctrl K Ctrl T — and choose Count Darcula Dark or Count Darcula Light.

Follow the system

Switch between Dark and Light with the system appearance.

~/.config/zed/settings.json
{
  "theme": {
    "mode": "system",
    "dark": "Count Darcula Dark",
    "light": "Count Darcula Light"
  }
}

The setup it was designed against

Optional. The mono this page is set in, at the size the palette was tuned at.

~/.config/zed/settings.json
{
  "buffer_font_family": "JetBrains Mono",
  "buffer_font_size": 13.5,
  "buffer_line_height": { "custom": 1.6 }
}

Using VS Code or Cursor? Support for them ended with 2.0. The 1.2.0 release stays in the repository's history if you want to keep using it there, but it won't receive the new palette.

Wallpapers

Dress the rest of the desk.

Three wallpapers for the desk around your editor — the Count at his own, a mug of something stronger than coffee, and a castle that has clearly never seen a light theme. Free for personal and commercial use.

Download all seven — 9.4 MB

JPEG, quality 92 at 4:4:4 chroma so the lettering in the artwork stays crisp. The 4K files are upscaled from 1672px artwork rather than rendered at 4K — still cleaner at 1:1 than the bicubic your OS would apply to a smaller file, but there is no extra detail in them. Free to use as a wallpaper, personal or commercial; not for resale as stock artwork.