Tailwind CSS v4 default palette
Tailwind slate-100: #F1F5F9
In Tailwind CSS v4, slate-100 is defined as --color-slate-100: oklch(96.8% 0.007 247.896), which is #F1F5F9 in hex and rgb(241, 245, 249): a near-white with a faint sky blue tint. In Tailwind v3, slate-100 was #F1F5F9.
In OKLCH, slate-100 has a lightness of 96.8%, chroma 0.007 and hue 247.9°.
The value fits inside sRGB, so the hex #F1F5F9 represents it without loss on any screen.
In v3, slate-100 was #F1F5F9. 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-100
| Tailwind v4 token | --color-slate-100 |
|---|---|
| OKLCH (source value) | oklch(96.8% 0.007 247.896) |
| HEX | #F1F5F9 |
| RGB | rgb(241, 245, 249) |
| HSL | hsl(210, 40%, 96%) |
| HWB | hwb(210 95% 2%) |
| CMYK (naive, no ICC profile) | cmyk(3%, 2%, 0%, 2%) |
| Decimal | 15,857,145 |
| Tailwind v3 hex | #F1F5F9 |
| Utility classes | bg-slate-100, text-slate-100, border-slate-100 |
Tailwind slate scale
Contrast and accessibility
On slate-100, black text has a contrast ratio of 19.16:1 and passes AAA at any text size; white text reaches 1.09: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-100 | 19.16:1 | Pass | Pass | Pass | Pass | 99.7 |
| White text on slate-100 | 1.09:1 | Fail | Fail | Fail | Fail | 0.0 |
| Slate-100 text on white | 1.09:1 | Fail | Fail | Fail | Fail | 0.0 |
| Slate-100 text on black | 19.16:1 | Pass | Pass | Pass | Pass | −100.9 |
Tints and shades
Each step mixes var(--color-slate-100) with white (tints) or black (shades) in gamma-encoded sRGB, the same result as color-mix(in srgb, var(--color-slate-100), white 25%) in CSS.
Tints (mixed with white)
- 5%
#f2f6f9 - 15%
#f3f7fa - 25%
#f5f8fb - 35%
#f6f9fb - 45%
#f7fafc - 55%
#f9fbfc - 65%
#fafcfd - 75%
#fcfdfe - 85%
#fdfefe - 95%
#feffff
Shades (mixed with black)
- 5%
#e5e9ed - 15%
#cdd0d4 - 25%
#b5b8bb - 35%
#9d9fa2 - 45%
#858789 - 55%
#6c6e70 - 65%
#545657 - 75%
#3c3d3e - 85%
#242525 - 95%
#0c0c0c
Color harmonies
Rotating the hue in OKLCH while keeping lightness and chroma, slate-100's complementary color is #F8F4F0 (close to whitesmoke), its analogous colors are #F0F6F8 and #F3F4F9, and its triadic partners are #F9F3F3 and #F3F5F0. For text on top, black gives the higher contrast.
| Harmony | Rotation | Color |
|---|---|---|
| Complementary | +180° | #f8f4f0 |
| Analogous | −30°, +30° | #f0f6f8#f3f4f9 |
| Triadic | +120°, +240° | #f9f3f3#f3f5f0 |
| Split-complementary | +150°, +210° | #f9f3f1#f5f5ef |
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-100 is close to neutral: its OKLCH chroma is only 0.007, so its temperature comes from context. The faint 210° 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.
Nearest CSS named colors
| Color | HEX | ΔE OK |
|---|---|---|
| whitesmoke | #f5f5f5 | 0.7 |
| aliceblue | #f0f8ff | 0.9 |
| ghostwhite | #f8f8ff | 1.4 |
Nearest Tailwind v4 colors
| Color | HEX | ΔE OK |
|---|---|---|
| gray-100 | #f3f4f6 | 0.4 |
| zinc-100 | #f4f4f5 | 0.6 |
| neutral-100 | #f5f5f5 | 0.7 |
Code snippets
<div class="bg-slate-100 text-black">...</div>
<p class="text-slate-100 border-slate-100">...</p>.element {
color: var(--color-slate-100);
background-color: oklch(96.8% 0.007 247.896);
border-color: #f1f5f9;
outline-color: rgb(241 245 249);
}import SwiftUI
extension Color {
static let slate100 = Color(red: 0.945, green: 0.961, blue: 0.976)
}import androidx.compose.ui.graphics.Color
val Slate100 = Color(0xFFF1F5F9)import 'package:flutter/material.dart';
const slate100 = Color(0xFFF1F5F9);<!-- res/values/colors.xml -->
<color name="slate_100">#F1F5F9</color>Frequently asked questions
- What is the hex code for Tailwind slate-100?
- In Tailwind CSS v4, slate-100 is oklch(96.8% 0.007 247.896), which converts to #F1F5F9 (rgb(241, 245, 249)) in sRGB. In Tailwind v3 the same name was #F1F5F9.
- What is the difference between slate-100 in Tailwind v3 and v4?
- v3 used the hex #F1F5F9; v4 redefined the palette in OKLCH as oklch(96.8% 0.007 247.896). In v3, slate-100 was #F1F5F9. The v4 value is ΔE OK 0.0 away, below the point where most people can tell them apart.
- How do I use slate-100 in plain CSS?
- Tailwind v4 defines every palette color as a theme variable, so in CSS you write var(--color-slate-100). By default Tailwind only emits the variables your project uses; @theme static emits all of them.
- Can you use white text on slate-100?
- White text on slate-100 has a contrast ratio of 1.09:1, which fails AA even for large text under WCAG 2.2. Black text reaches 19.16:1 and passes both AA and AAA. In APCA terms that is Lc 0.0 for white and Lc 99.7 for black.
- Which CSS named color is closest to slate-100?
- The closest is whitesmoke (#F5F5F5) at ΔE OK 0.7, followed by aliceblue and ghostwhite.
Last reviewed by Arielton Oberek.