search

Found

info Overview

Turn one base HEX color into 10 darker shades and 10 lighter tints, each with HEX and RGB values you can copy with a single click.

📘 How to Use

  1. Enter a base color via the color picker or HEX field
  2. Review the 10 darker shades in the top row
  3. Review the 10 lighter tints in the bottom row
  4. Read the HEX and RGB value shown on each swatch

Color Shade & Tint Generator

RGB 236, 19, 128

Shades (Darker)

Base

Tints (Lighter)

Copied
Article

Color Shade & Tint Generator | Build a 21-Step Light-to-Dark Color Scale

Feed in one base HEX color and see 10 darker shades and 10 lighter tints laid out as a single scale. Every swatch shows both its HEX and RGB values, so you can lift the exact stops you need for hover states, borders, dark-mode surfaces, and design tokens.

💡 About This Tool

You picked a brand color, then hit the wall every front-end dev knows: what do you use for the button's :hover, the disabled state, the subtle border, the muted background? Nudging the lightness by hand usually produces a scale that drifts off-tone and looks inconsistent across components.

This generator interpolates your base RGB toward pure black and pure white in even steps. Shades multiply each channel by a shrinking factor; tints fill the gap toward 255 by a growing factor. The result is a 21-stop scale — 10 shades, your base, 10 tints — with a predictable, linear progression you can map straight to token names like shade-1 through tint-10.

Each swatch overlays its HEX and RGB readout in an automatically contrasting text color, so light and dark stops stay legible. You can copy a single swatch or export the whole scale as a commented list of CSS-variable lines, which makes the jump from a Figma mockup to a stylesheet a copy-and-tweak away.

🧐 Frequently Asked Questions

What's the difference between a shade and a tint? A shade is your color mixed toward black (darker); a tint is mixed toward white (lighter). Mixing toward gray gives a tone — this tool deliberately sticks to the two most useful axes, shade and tint.

How are the 10 steps calculated? Shades multiply each RGB channel by i/11 for i from 10 down to 1. Tints use channel + (255 − channel) × i/11 for i from 1 to 10. The denominator of 11 keeps pure black and pure white out of the set, so every stop stays a usable, on-brand step.

Why not just change HSL lightness? Moving only HSL's L value can shift perceived brightness unevenly across hues. Linear RGB interpolation is simpler and more predictable. If you need perceptual uniformity, pair this with a Lab/OKLCH tool.

Does it accept 3-digit shorthand HEX? Yes. Shorthand like #f0c is expanded to six digits (#ff00cc) before processing.

Can I export the whole scale at once? Copy All outputs every shade and tint as a labeled, commented list ready to drop into a stylesheet as the start of your variable definitions.

📚 Fun Facts

Ever wonder why Tailwind and Material Design ship colors numbered 50 through 900? It's so a single brand hue can be expanded into a reusable, tokenized scale. Derive your steps mechanically up front and adding a dark theme later becomes a question of which number to flip rather than re-picking colors by eye. The shade-and-tint split also mirrors halftone printing, where varying the ink dot size — not the ink itself — is what creates lighter and darker passages on the page.