Shade Generator

Turn one color into a full 50 to 900 scale of tints and shades - ready to copy as CSS variables for a design system.

--

CSS variables - paste inside :root

One color, a whole system

Real interfaces need many versions of a single color: a pale tint for a hovered row, a mid tone for a badge, a deep shade for text on a light card. Rather than eyeballing each one, a numbered scale gives you a consistent, documented set. This tool takes your base color, places it at step 500, and generates five lighter tints and four darker shades around it - the same 50 to 900 pattern used by popular design frameworks.

How the steps are built

Steps 50 through 400 mix your color progressively toward white, so 50 is almost paper-white with just a hint of the hue, while 400 is a soft version of the original. Steps 600 through 900 mix toward black, deepening the color while keeping its character. Because every step shares the same hue, the ramp reads as one family rather than ten unrelated colors.

Putting it to work

  • Backgrounds - 50 and 100 for subtle surfaces and hovered states.
  • Borders and dividers - 200 and 300.
  • Primary actions - 500 or 600, with 700 for the pressed state.
  • Text on light backgrounds - 700 to 900 for enough contrast.

Always sanity-check text combinations with the contrast checker before shipping. To sample or fine-tune the base color first, use the color picker or the HEX to RGB converter, and if you want a gradient rather than a stepped scale, the gradient generator blends the same colors smoothly.

Frequently asked questions

What is a 50 to 900 color scale?
It is a ten-step ramp of one color, from a very light 50 through a mid 500 to a deep 900. Design systems like Tailwind and Material use this numbering so every shade of a color has a predictable name you can reference in code.
What is the difference between a shade and a tint?
A tint is the base color mixed with white, so the 50 to 400 steps here are tints. A shade is mixed with black, which is what the 600 to 900 steps are. The 500 step is your original color.
How do I use these as CSS variables?
Copy the generated block and paste it inside a :root rule in your stylesheet. Then reference a step anywhere with var(--color-500). Change the base color once and every variable updates.
Why does my brand color not sit exactly at 500?
The 500 step is your exact input. The lighter and darker steps are generated by mixing it toward white and black, so the scale always runs through your original color at the midpoint.