tints · shades · tones · n step · sRGB

Generate tints, shades & tones

Classic painter's progression: mix with white (tints), black (shades), or gray (tones). Pick N steps and copy any variant.

Tints / Shades / Tones
Base
#3B82F6
input
Steps
10
per group
Total
31
variants
Status
ready
live
Steps
input · color
Base HEX
Base swatch
output · preview
Tints — mix with white
Shades — mix with black
Tones — mix with gray
Quick Start

How tints, shades and tones work

Pick a base, choose step count, copy any of 3 painter-style variant rows.

  1. 01

    Pick a base

    Start with your brand or theme color.

    Colors round-trip through a normalised OKLCH representation, so manipulations (lighten, mix, contrast) preserve perceptual uniformity per CSS Color 4.

    inputOKLCHCSS Color 4perceptuallive
    base · colorhex · sRGB
    #3b82f6
    loaded · normalisedOKLCH · ready
  2. 02

    Set step count

    10 is a good default. Up to 20 supported.

    Format conversion handles hex, rgb(), hsl(), oklch(), color(display-p3 …) with proper gamut mapping when crossing colour spaces.

    stepshex · rgb · hslP3gamut-mappedlive
    n · options10 · live
    10 stops each
    options applied · livelive
  3. 03

    Compare rows

    Tints lighten with white; shades darken with black; tones desaturate with gray.

    Contrast and accessibility checks evaluate against WCAG 2.2 AA (4.5:1) and AAA (7:1) thresholds; APCA is offered when contrast is the goal.

    compareWCAG 2.2APCAAA · AAAcontrast
    rows · converted3 · ready
    tint / shade / tone
    converted · liveWCAG-aware
  4. 04

    Copy variants

    Click any swatch for one HEX, or copy the whole JSON.

    Copy formats any swatch in the chosen syntax (#aabbcc, rgb(170 187 204), etc.); downloads emit CSS variable blocks or palette JSON.

    copyclipboardCSS varspalette JSONblob
    ok · copiedready · done
    ✓ Copied
    shipped · ready to shipsuccess
Pro tips

Colour work that survives accessibility audits

Use OKLCH for manipulation

OKLCH is perceptually uniform — lightness changes look uniform. hsl() isn’t, and produces muddy mid-tones.

Test against WCAG 2.2

4.5:1 for normal text (AA), 7:1 for AAA. Use Contrast Checker before shipping.

Mind gamut clipping

P3 colours that exceed sRGB get clipped on standard displays. Choose relative colorimetric in CSS Color 4.

Colour blindness affects 8%

Use the Color Blindness simulator to check critical UI before launch.

Don’t hardcode hex

Use CSS variables. Light/dark themes become trivial when colours are tokenised.

Dark mode isn’t inverted

Don’t simply invert lightness — desaturate slightly and re-pick accents. Pure-inverted UIs look harsh.

Use Cases

When to use painter's variants

Theming, illustration, branding.

Backgrounds

Tints work well as soft background variants. Conversions go through OKLCH so perceptual lightness stays uniform across hues — a 50% L blue looks as bright as a 50% L yellow. HSL fakes this and produces muddy mid-tones, OKLCH solves it per CSS Color 4.

WCAG 2.2 AA

Body text

Shades provide deep text colors that aren't pure black. WCAG 2.2 contrast is sampled live for AA (4.5:1) and AAA (7:1) — flip foreground/background to test both directions. APCA is offered when contrast itself is the goal (e.g., dataviz).

P3-aware

Muted UI

Tones desaturate without losing identity. Output covers hex, rgb(), hsl(), oklch(), and color(display-p3 …) for CSS Color 4. Drop straight into Tailwind config, CSS custom properties, or Figma without re-typing values.

perceptually-uniform

Illustration

Painter-style progressions for art and motion. Pair with the Contrast Checker before shipping any new theme. Catches accessibility regressions before they become bugs filed against you by users with low vision.

gamut-safe

Quick scale

Generate a 3 × N scale in seconds. Tokens drop straight into Figma variables, Tailwind config, or CSS custom properties. Theme switching becomes a single variable swap rather than a search-replace across stylesheets.

a11y-ready

Cross-tool

Export as JSON for design system ingestion. Gamut-aware: tools warn before you ship a P3 colour that clips on sRGB displays. Choose the appropriate fallback strategy (relative colorimetric vs perceptual) per CSS Color 4 spec.

design-token
FAQ

Frequently asked questions

Tint mixes with white; shade with black; tone with gray (mid-level desaturation).
It is shown once on the left of each row as the anchor — variants are derivatives.
No — they are linear sRGB mixes. For perceptual scales use OKLCH-based tools.
Yes — copy JSON and paste into the CSS Variable Generator.
No — math runs entirely in your browser.
Suggest a tool

Something missing?

Tell us what you need. We ship the top requests every two weeks.

Sent straight to the maintainers · no account needed
47 in queue·8 shipped this month
Request queued. Thanks!