Skip to content

Theme Color Generator

Generate matching light and dark themes from one colour.

Your brand colour

Themed CSS
The stylesheet appears here

Quick Tool Overview

The Theme Color Generator produces matching light and dark themes from one colour — elevated surfaces, softened text, desaturated accents — rather than inverting a light theme, which is what makes most first attempts at dark mode look wrong.

What it does
Generates a paired light and dark theme
You give it
One brand colour
You get back
Every token in both modes, as CSS
Best for
Shipping dark mode without hand-tuning everything
Color Tools Free, unlimited use No sign-up Runs in your browser

About the Theme Color Generator

A dark theme is not a light theme with the colours inverted. Inverting produces pure white text on pure black, saturated colours that glow and smear, and a set of greys that have lost every relationship they had. Everyone tries it once.

This generates both themes properly from one brand colour. The light theme gets near-white surfaces with the faintest trace of your hue, near-black text rather than pure black, and borders that step evenly. The dark theme gets elevated surfaces that get lighter as they come forward — which is how depth is shown when there are no shadows to speak of — text at around 87% rather than pure white, and accent colours with their saturation pulled back so they stop glowing.

Every token comes as a pair, so the output is a complete themed stylesheet: a :root block, a dark block keyed on either prefers-color-scheme or a data attribute, and every value checked for contrast in both modes. The preview shows a real interface in both themes at once, which is the only reliable way to tell whether the two are actually siblings.

Key features of the Theme Color Generator

Not an inversion

Dark surfaces start near #121212, text sits near 87% rather than pure white, and accents are pulled back so they stop glowing.

Elevated surfaces

A stack of surface colours that get lighter as they come forward, which is how depth works when shadows are invisible.

Paired tokens

Every value exists in both modes, so the output is a complete themed stylesheet rather than a palette.

Both previews at once

Light and dark side by side as a real interface — the only reliable way to tell whether they are siblings.

Switchable either way

prefers-color-scheme for the system default and a data attribute for an explicit choice.

How to use the Theme Color Generator

  1. 1

    Enter your brand colour

    Both themes are built around it.

  2. 2

    Set the tint and contrast

    How much hue the surfaces carry, and how hard the light and dark ends push.

  3. 3

    Compare the two previews

    Light and dark side by side, as a real interface rather than swatches.

  4. 4

    Copy the CSS

    Both blocks, switched by prefers-color-scheme or a data attribute.

Frequently asked questions

Because pure black with white text produces halation — the text appears to bleed — and it leaves nowhere to go when something needs to sit behind the background. Most dark themes start around #121212 for exactly these reasons.

Reviews of the Theme Color Generator

What people who use the Theme Color Generator think of it. Reviews come from visitors and are posted as written.

No ratings yet

Yours would be the first.

  • 5 0 reviews rated 5 stars
  • 4 0 reviews rated 4 stars
  • 3 0 reviews rated 3 stars
  • 2 0 reviews rated 2 stars
  • 1 0 reviews rated 1 star

Write a review

Used this tool? Your rating helps the next person decide.

Your rating

Plain text only — links, email addresses and HTML are not accepted. Your name and review are shown publicly; nothing else is collected. See the privacy policy.

0 reviews

Newest first

No reviews yet

Be the first to rate the Theme Color Generator. It takes half a minute and no account.

Write the first review

More color tools