Dark Mode Color Palettes (With Hex Codes)

Four ready-to-use dark mode palettes: two neutral stacks, a brand-tinted stack, and a monochrome terminal theme. Every hex code is copyable, every role is labeled (background, surface, border, text, accent), and every text-on-background pairing below was computed with the WCAG contrast formula — the ratios are stated with each palette, not assumed. Build your own variant afterward with the shade generator and check it in the contrast checker.

1. Neutral Slate Stack

The workhorse. Tailwind's slate family has a barely-cool undertone that reads as "professional dashboard" — these six values cover the whole UI.

Use #020617 for the page, #0f172a for cards, #1e293b for hovered or raised elements, #334155 for borders. Body copy in #cbd5e1, headings in #f1f5f9. Pair with any accent — it's neutral enough to take one.

Contrast: body text #cbd5e1 on #020617 = 13.59:1 (passes AAA) · headings #f1f5f9 on surface #0f172a = 16.3:1 (passes AAA).

2. Warm Charcoal Stack

Same structure, warmer feel. Tailwind's stone family leans brown instead of blue — good for editorial sites, reading apps, and anything that should feel less "ops dashboard".

Roles mirror the slate stack: #0c0a09 page, #1c1917 cards, #292524 raised, #44403c borders, #d6d3d1 body text, #f5f5f4 headings. Warm ambers and oranges make natural accents here.

Contrast: body text #d6d3d1 on #0c0a09 = 13.26:1 (passes AAA) · headings #f5f5f4 on #0c0a09 = 18.11:1 (passes AAA).

3. Tinted Brand Dark

Instead of gray surfaces plus a brand accent, build the surfaces from the brand color. Starting from #2563eb (Tailwind blue-600), the dark surfaces below are its 85–95% shades — computed with the same channel math as the darken color tool — so the whole UI carries a faint blue cast that ties everything to the brand.

  • Background#02050c95% shade
  • Surface#040a1790% shade
  • Raised / hover#060f2385% shade
  • Border#0b1e4770% shade
  • Accent#2563ebblue-600 (base)
  • Accent hover#5182ef20% tint
  • Text#dee8fc85% tint

#02050c page, #040a17 cards, #060f23 raised, #0b1e47 borders. The untouched base #2563eb is the accent, its 20% tint #5182ef the hover, and the 85% tint #dee8fc serves as blue-cast text. Swap in your own brand hex and recompute the same percentages.

Contrast: text #dee8fc on #02050c = 16.56:1 (passes AAA) · white on the #2563eb accent = 5.17:1 — passes AA for normal text but not AAA, so keep white-on-accent for buttons and large text.

4. Monochrome Green Terminal

A single-hue theme built entirely from tints and shades of #2d6a4f, a forest green. Everything on screen shares one hue — the phosphor-terminal look, minus the eye strain.

  • Background#040b0890% shade
  • Surface#0b1b1475% shade
  • Border#17352850% shade
  • Accent / prompt#6c978430% tint
  • Text#cbdad375% tint

#040b08 page, #0b1b14 panels, #173528 borders and rules, #6c9784 for prompts and accents, #cbdad3 for output text. The full ramp lives on the #2d6a4f color page.

Contrast: text #cbdad3 on #040b08 = 13.73:1 (passes AAA) · accent #6c9784 on #040b08 = 6.06:1 — passes AA for normal text and AAA for large text, but not AAA for body copy, so use it as an accent rather than a paragraph color.

Why Dark Mode Isn't Just Inverted Colors

Flipping a light theme produces a bad dark theme for three concrete reasons:

How to Build Your Own From Any Brand Hex

  1. Paste your brand hex into the shade generator and take the 85%, 90%, and 95% steps as raised, surface, and background — the same recipe as palette 3. The darken color tool gives finer 10%-step control.
  2. Keep the untouched brand color as the accent, and a 15–25% tint of it as the hover state.
  3. Pick body text around 75–85% tint of the brand hue (or a neutral like #cbd5e1), then verify the text-on-background pair in the contrast checker — aim for 7:1 (AAA) for body copy, and accept 4.5:1 (AA) only for short or large text.
  4. Preview the whole set side by side in the color explorer before shipping.

Monochrome Hex Codes: A Neutral Gray Ramp

Sometimes you don't want any hue at all. Tailwind's neutral family is a true monochrome ramp — equal R, G, and B at every step, no warm or cool cast. The dark end makes hue-free dark themes; the full ramp, from #0a0a0a to #fafafa:

The extremes pair at #fafafa on #0a0a0a = 18.97:1 (passes AAA). A typical dark stack from this ramp: #0a0a0a background, #171717 surface, #262626 raised, #404040 borders, #e5e5e5 text.

Want these ramps for your own color? Every hex in the color library has a page with its full tint and shade ramp — or generate one live with the shade generator.

Frequently Asked Questions

Got your palette sorted? Put it on a page that's yours — create your free MinglyLink page →