Tint and Shade Generator

Enter a hex code and get 10 lighter tints and 10 darker shades instantly, every value computed with the classic mix-with-white and mix-with-black formulas. You pick a perfect brand color, and then the real work begins — deriving every variant you'll need for backgrounds, text, borders, hover states, and dark-mode surfaces. This tool does the deriving; you copy what you need.

Generate tints and shades

Tints — mixed with white

  • 90%#eaf0ed
  • 80%#d5e1dc
  • 70%#c0d2ca
  • 60%#abc3b9
  • 50%#96b5a7
  • 40%#81a695
  • 30%#6c9784
  • 20%#578872
  • 10%#427961
  • 5%#387158
  • Base#2d6a4f

Shades — mixed with black

  • 5%#2b654b
  • 10%#295f47
  • 20%#24553f
  • 30%#1f4a37
  • 40%#1b402f
  • 50%#173528
  • 60%#122a20
  • 70%#0e2018
  • 80%#091510
  • 90%#040b08

Prefer precomputed pages? Try #2D6A4F in the color library — every library color ships with ready-made tint and shade ramps.

Need just one direction? The tint generator builds only the lighter ramp and the shade generator only the darker one — or open the advanced scale explorer for hue and chroma modes on top of lightness.

How the Generator Works

Both directions use proportional blending. A tint moves each RGB channel toward white; a shade scales each channel toward black. For a chosen percentage p (0–1):

tint:  new = old + (255 − old) × p
shade: new = old × (1 − p)

20% of #2D6A4F — rgb(45, 106, 79):
 ├─ tint:  rgb(87, 136, 114) = #578872
 └─ shade: rgb(36, 85, 63)   = #24553F

Because every channel moves proportionally, the hue stays essentially stable across the whole ramp — a tint of green is still green, just softer, and a shade of green is still green, just deeper. Simple linear RGB interpolation doesn't have this property: it tends to shift hue at the extremes, which is why blues drift toward purple and reds toward orange in cheaper tools. The formulas above are the classic tint and shade math, and this page shares its implementation with every other HexTints tool.

Prefer a single value at a time with a slider? Use the lighten color and darken color tools — same math, one percentage at a time.

Tints, Shades, and When to Use Each

Tints and shades are opposite halves of the same system — the tint vs shade page covers the theory, but here is the practical split:

Building a Full Palette from One Hex

The reason to generate tints and shades together is that one hex code can become an entire design-system scale. Computing a 10-step tint scale and a 10-step shade scale by hand means running the formula 60 times (3 channels × 20 steps) — and hand-picked values drift, so the jump between step 3 and step 4 ends up twice as large as the jump between step 6 and step 7. A generator uses uniform increments, so the scale stays even, and when you change your mind about the base color you regenerate the whole thing in seconds.

Map the generated values to custom properties and you have a tokenized scale:

:root {
  --blue-50:  #eff6ff;
  --blue-100: #dbeafe;
  --blue-200: #bfdbfe;
  --blue-300: #93c5fd;
  --blue-400: #60a5fa;
  --blue-500: #3b82f6; /* base */
  --blue-600: #2563eb;
  --blue-700: #1d4ed8;
  --blue-800: #1e3a8a;
  --blue-900: #1e3050;
  --blue-950: #0f1729;
}

50–400 are tints (lighter), 600–950 are shades (darker), and 500 is your base. This mirrors how Tailwind CSS, Radix, and most modern design systems organize color — the same values drop straight into tailwind.config.js under theme.extend.colors. The color library has precomputed ramp pages for every Tailwind color, for example red-600 at /color/dc2626.

The same scale powers both themes. A common mapping: light-mode background uses --blue-50, cards use --blue-100, text uses --blue-900. For dark mode, flip it — background becomes --blue-950, cards --blue-900, text --blue-100. One generated ramp, two themes.

Frequently Asked Questions

Related tools: tint generator · shade generator · lighten a color · darken a color · advanced scale explorer with hue & chroma modes · color library · contrast checker

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