Tints of #dc2626 — from base to nearly white
Tints of Color — What They Are and How to Use Them
"Tints of color" is one of those phrases that feels technical when you say it out loud but points to something every designer already works with. A tint is a lighter version of a base color — specifically, the base color mixed with white. When you use a pale pink background for a danger alert instead of pure red, you're using a tint of red. When a button turns slightly lighter on hover, that's a tint too.
The reason tints of color matter in design (and why the term shows up in search results at all) is that modern interfaces lean heavily on them. Tints are how you create soft backgrounds, subtle interactive states, and entire light-mode palettes without introducing new hues. Understanding them gives you a systematic way to build cohesive color systems instead of picking values that happen to look nice together.
What Makes a Tint a Tint
A tint is a base color mixed with white. That's it — that's the full definition. The more white you add, the lighter the tint. At 100% white, every color reaches pure #FFFFFF.
This is distinct from two related concepts that often get confused:
- A shade is a color mixed with black (darker)
- A tone is a color mixed with gray (muted, desaturated) — see our guide on tint, tones, and shades
Tints are specifically the "+ white" direction. The hue stays the same — a tint of red is still red, just paler. A tint of teal is still teal, just softer. Only the lightness changes.
In hex terms, creating a tint means pushing each RGB channel value closer to FF (which equals 255 in decimal, the maximum). The proportional formula is:
tint_value = base_value + (255 - base_value) × factor
Where factor ranges from 0 (no change) to 1 (pure white). Doing this per channel gives you a tint that preserves the hue.
Tints of Color — Real Examples
Let's make this concrete. Starting from #dc2626 (a bold red):
- Base:
#dc2626— bold red, full saturation - 10% tint:
#e03737— slightly softer red, still bold - 30% tint:
#e66060— coral-leaning, warmer feel - 50% tint:
#ed9292— a clear rose - 70% tint:
#f4bfbf— very soft pink, great for backgrounds - 90% tint:
#fbe8e8— barely-there pink, ideal for alert surfaces
Every one of those is "red" in hue — a colorblindness test or color-picker tool will confirm they all fall in the same hue family. What's changing is lightness, and with it, emotional weight. The base #dc2626 demands attention. The 90% tint whispers in the background. Same hue, completely different usage contexts.
Now from #1e40af (a deep blue):
- Base:
#1e40af— deep navy blue - 10% tint:
#3754b7— slightly softer navy - 40% tint:
#778ccf— a muted periwinkle - 70% tint:
#b6c0e2— pale sky blue - 95% tint:
#f2f4fb— almost white with a blue whisper
You can see the same pattern: one hue, many usable values. Want to explore any color's full tint range? HexTints generates the complete spectrum from any hex code instantly.
Why Tints of Color Matter in UI Design
They Create Light Backgrounds Without Going Gray
If you need a colored background — for a card, an alert, a highlighted section — you have two options: use a tint of your brand or semantic color, or use gray. Gray is neutral but disconnected from your palette. A tint ties the background into your color system and communicates meaning (a pink-tinted surface feels like "warning" territory; a blue-tinted surface feels like "information").
Most modern UI conventions lean on tints for exactly this reason. Alert banners, input focus backgrounds, success states, selected table rows — all commonly use very high tints (80–95%) of a semantic color.
They Enable Cohesive Palettes
A well-designed palette often uses just a few hues, each with a full range of tints and shades of color. Instead of picking 20 distinct colors, you pick 3–5 hues and generate 8–10 tints and shades of each. The resulting 30–50 values all feel like they belong together because they share hue DNA.
They Make Hover and Focus States Natural
For light themes, the typical interaction pattern is: default state → slightly lighter tint on hover → slightly darker shade when active. This creates an affordance that feels like the element is reacting to the cursor. Random color changes don't feel like state changes; tints of the same color do.
They Support Accessible Color Pairings
Tints tend to work well as backgrounds for dark text, while shades work as text on light backgrounds. Pairing a very light tint (background) with a very dark shade (text) from the same hue family gives you high contrast AND visual harmony — the WCAG win-win.
How to Get Tints of Any Color
The Tool Approach
The fastest path is a free tool like HexTints. Enter any hex code, and you immediately see the full tint spectrum — from your base all the way to near-white. Every tint is click-to-copy. This is the approach to take when you need multiple tint values, or when you're still deciding on a base color and want to see it in context.
The CSS Approach
Modern CSS lets you create tints inline without a separate tool:
.alert-info {
background: color-mix(in srgb, #1e40af, white 90%);
border-color: color-mix(in srgb, #1e40af, white 75%);
color: #1e40af;
}
Here, the background is a 90% tint, the border is a 75% tint, and the text is the base color. This creates a clean info alert using only one base color. Learn more about color-mix() on MDN.
For older browser support, pre-compute tint values with a tool and use static hex codes.
The JavaScript Approach
If you need tints at runtime — for a theme builder, a color picker, or dynamic components:
function getTint(hex, factor) {
const h = hex.replace('#', '');
const full = h.length === 3 ? h.split('').map(c => c + c).join('') : h;
const r = parseInt(full.slice(0, 2), 16);
const g = parseInt(full.slice(2, 4), 16);
const b = parseInt(full.slice(4, 6), 16);
const lighten = (c) => Math.round(c + (255 - c) * factor);
const toHex = (n) => n.toString(16).padStart(2, '0');
return '#' + toHex(lighten(r)) + toHex(lighten(g)) + toHex(lighten(b));
}
getTint('#dc2626', 0.5); // '#ed9292'
Zero dependencies. Works anywhere JavaScript runs.
How Many Tints of Color Do You Need
Depends entirely on context:
- For quick UI work: 2–3 tints cover most needs — a medium tint for hover, a light tint for selected states, a very light tint for backgrounds.
- For a component library: 4–5 tints give you flexibility across backgrounds, borders, hover states, and focus rings.
- For a full design system: 5–6 tints as part of an 11-step scale (tints on the lighter half, base in the middle, shades on the darker half). Check our shade picker for a pre-built 11-stop scale from any hex code.
The key thing isn't the exact count — it's consistency. Pick a spacing pattern (every 10% of lightness, every 20%, etc.) and stick with it across all your hues so your palette scales behave predictably.
Frequently Asked Questions
-
What are tints of color?
Tints of color are lighter versions of a base color, created by mixing that color with white. The hue stays the same — only the lightness increases. For example, pink is a tint of red; sky blue is a tint of blue.
-
How do I create tints of a color from a hex code?
For each RGB channel in the hex code, apply the formula
new = old + (255 - old) × factor, where factor is between 0 (no change) and 1 (pure white). Or use a free tool like HexTints to generate the full tint range automatically. -
Are tints of color the same as pastel colors?
Pastels are typically high-tint colors — base colors mixed with a lot of white (70–90%). So most pastels are tints, but not all tints are pastels. A 10% tint is still relatively saturated and wouldn't usually be called a pastel.
-
What's the difference between tints of color and shades of color?
Tints are lighter (base + white). Shades are darker (base + black). Both preserve the original hue; they only change the lightness in opposite directions. For a full comparison, see our guide on tints and shades.
-
Can I use tints of color in CSS without a separate tool?
Yes.
color-mix(in srgb, #yourcolor, white 50%)gives you a 50% tint directly in CSS. This works in all modern browsers. For older browser support, pre-compute tint values with a tool and use them as static hex codes.