Skip to content

Tailwind CSS v4 default palette

Tailwind slate-400: #90A1B9

In Tailwind CSS v4, slate-400 is defined as --color-slate-400: oklch(70.4% 0.04 256.788), which is #90A1B9 in hex and rgb(144, 161, 185): a light, muted blue. In Tailwind v3, slate-400 was #94A3B8.

slate-400#90A1B9

In OKLCH, slate-400 has a lightness of 70.4%, chroma 0.040 and hue 256.8°.

The value fits inside sRGB, so the hex #90A1B9 represents it without loss on any screen.

In v3, slate-400 was #94A3B8. The v4 value is ΔE OK 0.8 away, below the point where most people can tell them apart; v4 is darker.

Tailwind slate is the bluest of the gray scales, a cool gray that pairs well with blue and indigo accents.

Color codes for slate-400

Color codes for slate-400
Tailwind v4 token--color-slate-400
OKLCH (source value)oklch(70.4% 0.04 256.788)
HEX#90A1B9
RGBrgb(144, 161, 185)
HSLhsl(215, 23%, 65%)
HWBhwb(215 56% 27%)
CMYK (naive, no ICC profile)cmyk(22%, 13%, 0%, 27%)
Decimal9,478,585
Tailwind v3 hex#94A3B8
Utility classesbg-slate-400, text-slate-400, border-slate-400

Tailwind slate scale

Contrast and accessibility

On slate-400, black text has a contrast ratio of 7.98:1 and passes AAA at any text size; white text reaches 2.63: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.

Contrast and accessibility
PairRatioAAAA largeAAAAAA largeAPCA Lc
Black text on slate-4007.98:1PassPassPassPass52.7
White text on slate-4002.63:1FailFailFailFail−56.4
Slate-400 text on white2.63:1FailFailFailFail51.3
Slate-400 text on black7.98:1PassPassPassPass−50.6

Tints and shades

Each step mixes var(--color-slate-400) with white (tints) or black (shades) in gamma-encoded sRGB, the same result as color-mix(in srgb, var(--color-slate-400), white 25%) in CSS.

Tints (mixed with white)

  1. 5%
    #96a6bd
  2. 15%
    #a1afc4
  3. 25%
    #acb9cb
  4. 35%
    #b7c2d2
  5. 45%
    #c2cbd9
  6. 55%
    #cdd5e0
  7. 65%
    #d8dee7
  8. 75%
    #e3e8ee
  9. 85%
    #eef1f5
  10. 95%
    #f9fafc

Shades (mixed with black)

  1. 5%
    #8999b0
  2. 15%
    #7a899d
  3. 25%
    #6c798b
  4. 35%
    #5e6978
  5. 45%
    #4f5966
  6. 55%
    #414853
  7. 65%
    #323841
  8. 75%
    #24282e
  9. 85%
    #16181c
  10. 95%
    #070809

Color harmonies

Rotating the hue in OKLCH while keeping lightness and chroma, slate-400's complementary color is #AE9D84 (close to rosybrown), its analogous colors are #86A5B3 and #9D9CB8, and its triadic partners are #B79697 and #94A68D. For text on top, black gives the higher contrast.

Color harmonies
HarmonyRotationColor
Complementary+180°#ae9d84
Analogous−30°, +30°#86a5b3#9d9cb8
Triadic+120°, +240°#b79697#94a68d
Split-complementary+150°, +210°#b6998b#a2a285

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-400 is a cool color: its hue is 215° on the HSL wheel, in the green, blue and violet range that is conventionally called cool.

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

Nearest CSS named colors
ColorHEXΔE OK
darkgray#a9a9a95.0
cadetblue#5f9ea07.2
rosybrown#bc8f8f8.4

Nearest Tailwind v4 colors

Nearest Tailwind v4 colors
ColorHEXΔE OK
gray-400#99a1af1.8
zinc-400#9f9fa92.8
mist-400#9ca8ab3.6

Code snippets

Tailwind CSS
<div class="bg-slate-400 text-black">...</div>
<p class="text-slate-400 border-slate-400">...</p>
CSS
.element {
  color: var(--color-slate-400);
  background-color: oklch(70.4% 0.04 256.788);
  border-color: #90a1b9;
  outline-color: rgb(144 161 185);
}
SwiftUI
import SwiftUI

extension Color {
  static let slate400 = Color(red: 0.565, green: 0.631, blue: 0.725)
}
Jetpack Compose
import androidx.compose.ui.graphics.Color

val Slate400 = Color(0xFF90A1B9)
Flutter
import 'package:flutter/material.dart';

const slate400 = Color(0xFF90A1B9);
Android XML
<!-- res/values/colors.xml -->
<color name="slate_400">#90A1B9</color>

Frequently asked questions

What is the hex code for Tailwind slate-400?
In Tailwind CSS v4, slate-400 is oklch(70.4% 0.04 256.788), which converts to #90A1B9 (rgb(144, 161, 185)) in sRGB. In Tailwind v3 the same name was #94A3B8.
What is the difference between slate-400 in Tailwind v3 and v4?
v3 used the hex #94A3B8; v4 redefined the palette in OKLCH as oklch(70.4% 0.04 256.788). In v3, slate-400 was #94A3B8. The v4 value is ΔE OK 0.8 away, below the point where most people can tell them apart; v4 is darker.
How do I use slate-400 in plain CSS?
Tailwind v4 defines every palette color as a theme variable, so in CSS you write var(--color-slate-400). By default Tailwind only emits the variables your project uses; @theme static emits all of them.
Can you use white text on slate-400?
White text on slate-400 has a contrast ratio of 2.63:1, which fails AA even for large text under WCAG 2.2. Black text reaches 7.98:1 and passes both AA and AAA. In APCA terms that is Lc −56.4 for white and Lc 52.7 for black.
Which CSS named color is closest to slate-400?
The closest is darkgray (#A9A9A9) at ΔE OK 5.0, followed by cadetblue and rosybrown.

Last reviewed by Arielton Oberek.