Tailwind CSS v4 default palette
Tailwind stone-200: #E7E5E4
In Tailwind CSS v4, stone-200 is defined as --color-stone-200: oklch(92.3% 0.003 48.717), which is #E7E5E4 in hex and rgb(231, 229, 228): a pale neutral gray. In Tailwind v3, stone-200 was #E7E5E4.
In OKLCH, stone-200 has a lightness of 92.3%, chroma 0.003 and hue 48.7°.
The value fits inside sRGB, so the hex #E7E5E4 represents it without loss on any screen.
In v3, stone-200 was #E7E5E4. The v4 value is ΔE OK 0.0 away, below the point where most people can tell them apart.
Tailwind stone is a warm gray with a slight brown-yellow tint, suited to editorial and earthy designs.
Color codes for stone-200
| Tailwind v4 token | --color-stone-200 |
|---|---|
| OKLCH (source value) | oklch(92.3% 0.003 48.717) |
| HEX | #E7E5E4 |
| RGB | rgb(231, 229, 228) |
| HSL | hsl(20, 6%, 90%) |
| HWB | hwb(20 89% 9%) |
| CMYK (naive, no ICC profile) | cmyk(0%, 1%, 1%, 9%) |
| Decimal | 15,197,668 |
| Tailwind v3 hex | #E7E5E4 |
| Utility classes | bg-stone-200, text-stone-200, border-stone-200 |
Tailwind stone scale
Contrast and accessibility
On stone-200, black text has a contrast ratio of 16.72:1 and passes AAA at any text size; white text reaches 1.25:1.
WCAG 2.2 contrast ratios (success criteria 1.4.3 and 1.4.6: AA needs 4.5:1 for normal text and 3:1 for large text, AAA needs 7:1 and 4.5:1). APCA Lc is the lightness contrast from the APCA-W3 0.0.98G model proposed for WCAG 3; a higher absolute value is more readable, and Lc 75 is its suggested minimum for body text.
| Pair | Ratio | AA | AA large | AAA | AAA large | APCA Lc |
|---|---|---|---|---|---|---|
| Black text on stone-200 | 16.72:1 | Pass | Pass | Pass | Pass | 90.9 |
| White text on stone-200 | 1.25:1 | Fail | Fail | Fail | Fail | −14.7 |
| Stone-200 text on white | 1.25:1 | Fail | Fail | Fail | Fail | 12.7 |
| Stone-200 text on black | 16.72:1 | Pass | Pass | Pass | Pass | −91.3 |
Tints and shades
Each step mixes var(--color-stone-200) with white (tints) or black (shades) in gamma-encoded sRGB, the same result as color-mix(in srgb, var(--color-stone-200), white 25%) in CSS.
Tints (mixed with white)
- 5%
#e8e6e5 - 15%
#ebe9e8 - 25%
#edeceb - 35%
#efeeed - 45%
#f2f1f0 - 55%
#f4f3f3 - 65%
#f7f6f6 - 75%
#f9f9f8 - 85%
#fbfbfb - 95%
#fefefe
Shades (mixed with black)
- 5%
#dbdad9 - 15%
#c4c3c2 - 25%
#adacab - 35%
#969594 - 45%
#7f7e7d - 55%
#686767 - 65%
#515050 - 75%
#3a3939 - 85%
#232222 - 95%
#0c0b0b
Color harmonies
Rotating the hue in OKLCH while keeping lightness and chroma, stone-200's complementary color is #E3E6E7 (close to lavender), its analogous colors are #E7E5E5 and #E7E5E3, and its triadic partners are #E4E6E5 and #E5E5E7. For text on top, black gives the higher contrast.
| Harmony | Rotation | Color |
|---|---|---|
| Complementary | +180° | #e3e6e7 |
| Analogous | −30°, +30° | #e7e5e5#e7e5e3 |
| Triadic | +120°, +240° | #e4e6e5#e5e5e7 |
| Split-complementary | +150°, +210° | #e3e6e6#e4e6e7 |
Computed in OKLCH: the hue is rotated by 180° (complementary), ±30° (analogous), ±120° (triadic) and 180° ±30° (split-complementary) while lightness and chroma stay fixed. Results that fall outside sRGB are brought back with the CSS Color 4 gamut mapping algorithm. Because this uses OKLCH, the values differ from tools that rotate hue in HSL, but every color keeps the same perceived lightness.
Warm or cool?
Tailwind stone-200 is close to neutral: its OKLCH chroma is only 0.003, so its temperature comes from context. It has no perceptible hue.
Nearest named and Tailwind colors
Distance is ΔE OK, the Euclidean distance in OKLab multiplied by 100. Values under about 2 are hard to tell apart side by side.
Code snippets
<div class="bg-stone-200 text-black">...</div>
<p class="text-stone-200 border-stone-200">...</p>.element {
color: var(--color-stone-200);
background-color: oklch(92.3% 0.003 48.717);
border-color: #e7e5e4;
outline-color: rgb(231 229 228);
}import SwiftUI
extension Color {
static let stone200 = Color(red: 0.906, green: 0.898, blue: 0.894)
}import androidx.compose.ui.graphics.Color
val Stone200 = Color(0xFFE7E5E4)import 'package:flutter/material.dart';
const stone200 = Color(0xFFE7E5E4);<!-- res/values/colors.xml -->
<color name="stone_200">#E7E5E4</color>Frequently asked questions
- What is the hex code for Tailwind stone-200?
- In Tailwind CSS v4, stone-200 is oklch(92.3% 0.003 48.717), which converts to #E7E5E4 (rgb(231, 229, 228)) in sRGB. In Tailwind v3 the same name was #E7E5E4.
- What is the difference between stone-200 in Tailwind v3 and v4?
- v3 used the hex #E7E5E4; v4 redefined the palette in OKLCH as oklch(92.3% 0.003 48.717). In v3, stone-200 was #E7E5E4. The v4 value is ΔE OK 0.0 away, below the point where most people can tell them apart.
- How do I use stone-200 in plain CSS?
- Tailwind v4 defines every palette color as a theme variable, so in CSS you write var(--color-stone-200). By default Tailwind only emits the variables your project uses; @theme static emits all of them.
- Can you use white text on stone-200?
- White text on stone-200 has a contrast ratio of 1.25:1, which fails AA even for large text under WCAG 2.2. Black text reaches 16.72:1 and passes both AA and AAA. In APCA terms that is Lc −14.7 for white and Lc 90.9 for black.
- Which CSS named color is closest to stone-200?
- The closest is gainsboro (#DCDCDC) at ΔE OK 2.9, followed by lavender and mistyrose.
Last reviewed by Arielton Oberek.