Tailwind CSS v4 default palette
Tailwind slate-200: #E2E8F0
In Tailwind CSS v4, slate-200 is defined as --color-slate-200: oklch(92.9% 0.013 255.508), which is #E2E8F0 in hex and rgb(226, 232, 240): a pale, grayish sky blue. In Tailwind v3, slate-200 was #E2E8F0.
In OKLCH, slate-200 has a lightness of 92.9%, chroma 0.013 and hue 255.5°.
The value fits inside sRGB, so the hex #E2E8F0 represents it without loss on any screen.
In v3, slate-200 was #E2E8F0. The v4 value is ΔE OK 0.0 away, below the point where most people can tell them apart.
Tailwind slate is the bluest of the gray scales, a cool gray that pairs well with blue and indigo accents.
Color codes for slate-200
| Tailwind v4 token | --color-slate-200 |
|---|---|
| OKLCH (source value) | oklch(92.9% 0.013 255.508) |
| HEX | #E2E8F0 |
| RGB | rgb(226, 232, 240) |
| HSL | hsl(214, 32%, 91%) |
| HWB | hwb(214 89% 6%) |
| CMYK (naive, no ICC profile) | cmyk(6%, 3%, 0%, 6%) |
| Decimal | 14,870,768 |
| Tailwind v3 hex | #E2E8F0 |
| Utility classes | bg-slate-200, text-slate-200, border-slate-200 |
Tailwind slate scale
Contrast and accessibility
On slate-200, black text has a contrast ratio of 17.03:1 and passes AAA at any text size; white text reaches 1.23: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 slate-200 | 17.03:1 | Pass | Pass | Pass | Pass | 92.1 |
| White text on slate-200 | 1.23:1 | Fail | Fail | Fail | Fail | −13.4 |
| Slate-200 text on white | 1.23:1 | Fail | Fail | Fail | Fail | 11.5 |
| Slate-200 text on black | 17.03:1 | Pass | Pass | Pass | Pass | −92.5 |
Tints and shades
Each step mixes var(--color-slate-200) with white (tints) or black (shades) in gamma-encoded sRGB, the same result as color-mix(in srgb, var(--color-slate-200), white 25%) in CSS.
Tints (mixed with white)
- 5%
#e3e9f1 - 15%
#e6ebf2 - 25%
#e9eef4 - 35%
#ecf0f5 - 45%
#eff2f7 - 55%
#f2f5f8 - 65%
#f5f7fa - 75%
#f8f9fb - 85%
#fbfcfd - 95%
#fefefe
Shades (mixed with black)
- 5%
#d7dce4 - 15%
#c0c5cc - 25%
#aaaeb4 - 35%
#93979c - 45%
#7c8084 - 55%
#66686c - 65%
#4f5154 - 75%
#393a3c - 85%
#222324 - 95%
#0b0c0c
Color harmonies
Rotating the hue in OKLCH while keeping lightness and chroma, slate-200's complementary color is #EDE6DE (close to antiquewhite), its analogous colors are #DFEAEE and #E6E6F0, and its triadic partners are #F0E4E5 and #E4EAE1. For text on top, black gives the higher contrast.
| Harmony | Rotation | Color |
|---|---|---|
| Complementary | +180° | #ede6de |
| Analogous | −30°, +30° | #dfeaee#e6e6f0 |
| Triadic | +120°, +240° | #f0e4e5#e4eae1 |
| Split-complementary | +150°, +210° | #efe5e0#e8e8de |
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 slate-200 is close to neutral: its OKLCH chroma is only 0.013, so its temperature comes from context. The faint 214° hue gives it a slightly cool cast.
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-slate-200 text-black">...</div>
<p class="text-slate-200 border-slate-200">...</p>.element {
color: var(--color-slate-200);
background-color: oklch(92.9% 0.013 255.508);
border-color: #e2e8f0;
outline-color: rgb(226 232 240);
}import SwiftUI
extension Color {
static let slate200 = Color(red: 0.886, green: 0.910, blue: 0.941)
}import androidx.compose.ui.graphics.Color
val Slate200 = Color(0xFFE2E8F0)import 'package:flutter/material.dart';
const slate200 = Color(0xFFE2E8F0);<!-- res/values/colors.xml -->
<color name="slate_200">#E2E8F0</color>Frequently asked questions
- What is the hex code for Tailwind slate-200?
- In Tailwind CSS v4, slate-200 is oklch(92.9% 0.013 255.508), which converts to #E2E8F0 (rgb(226, 232, 240)) in sRGB. In Tailwind v3 the same name was #E2E8F0.
- What is the difference between slate-200 in Tailwind v3 and v4?
- v3 used the hex #E2E8F0; v4 redefined the palette in OKLCH as oklch(92.9% 0.013 255.508). In v3, slate-200 was #E2E8F0. The v4 value is ΔE OK 0.0 away, below the point where most people can tell them apart.
- How do I use slate-200 in plain CSS?
- Tailwind v4 defines every palette color as a theme variable, so in CSS you write var(--color-slate-200). By default Tailwind only emits the variables your project uses; @theme static emits all of them.
- Can you use white text on slate-200?
- White text on slate-200 has a contrast ratio of 1.23:1, which fails AA even for large text under WCAG 2.2. Black text reaches 17.03:1 and passes both AA and AAA. In APCA terms that is Lc −13.4 for white and Lc 92.1 for black.
- Which CSS named color is closest to slate-200?
- The closest is lavender (#E6E6FA) at ΔE OK 1.7, followed by gainsboro and mistyrose.
Last reviewed by Arielton Oberek.