Skip to content

Tailwind CSS v4 default palette

Tailwind stone-900: #1C1917

In Tailwind CSS v4, stone-900 is defined as --color-stone-900: oklch(21.6% 0.006 56.043), which is #1C1917 in hex and rgb(28, 25, 23): a very dark gray with a faint brown tint. In Tailwind v3, stone-900 was #1C1917.

stone-900#1C1917

In OKLCH, stone-900 has a lightness of 21.6%, chroma 0.006 and hue 56.0°.

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

In v3, stone-900 was #1C1917. 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-900

Color codes for stone-900
Tailwind v4 token--color-stone-900
OKLCH (source value)oklch(21.6% 0.006 56.043)
HEX#1C1917
RGBrgb(28, 25, 23)
HSLhsl(24, 10%, 10%)
HWBhwb(24 9% 89%)
CMYK (naive, no ICC profile)cmyk(0%, 11%, 18%, 89%)
Decimal1,841,431
Tailwind v3 hex#1C1917
Utility classesbg-stone-900, text-stone-900, border-stone-900

Tailwind stone scale

Contrast and accessibility

On stone-900, white text has a contrast ratio of 17.48:1 and passes AAA at any text size; black text reaches 1.20: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 stone-9001.20:1FailFailFailFail0.0
White text on stone-90017.48:1PassPassPassPass−106.6
Stone-900 text on white17.48:1PassPassPassPass104.3
Stone-900 text on black1.20:1FailFailFailFail0.0

Tints and shades

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

Tints (mixed with white)

  1. 5%
    #272523
  2. 15%
    #3e3c3a
  3. 25%
    #555351
  4. 35%
    #6b6a68
  5. 45%
    #82817f
  6. 55%
    #999897
  7. 65%
    #b0afae
  8. 75%
    #c6c6c5
  9. 85%
    #dddddc
  10. 95%
    #f4f4f3

Shades (mixed with black)

  1. 5%
    #1b1816
  2. 15%
    #181514
  3. 25%
    #151311
  4. 35%
    #12100f
  5. 45%
    #0f0e0d
  6. 55%
    #0d0b0a
  7. 65%
    #0a0908
  8. 75%
    #070606
  9. 85%
    #040403
  10. 95%
    #010101

Color harmonies

Rotating the hue in OKLCH while keeping lightness and chroma, stone-900's complementary color is #171A1C (close to midnightblue), its analogous colors are #1C1918 and #1B1917, and its triadic partners are #171B19 and #1A191C. For text on top, white gives the higher contrast.

Color harmonies
HarmonyRotationColor
Complementary+180°#171a1c
Analogous−30°, +30°#1c1918#1b1917
Triadic+120°, +240°#171b19#1a191c
Split-complementary+150°, +210°#171a1b#181a1d

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-900 is close to neutral: its OKLCH chroma is only 0.006, so its temperature comes from context. The faint 24° hue gives it a slightly warm 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

Nearest CSS named colors
ColorHEXΔE OK
midnightblue#19197016.5
darkslategray#2f4f4f19.2
navy#00008020.1

Nearest Tailwind v4 colors

Nearest Tailwind v4 colors
ColorHEXΔE OK
taupe-900#1d18160.4
zinc-900#18181b1.2
neutral-900#1717171.3

Code snippets

Tailwind CSS
<div class="bg-stone-900 text-white">...</div>
<p class="text-stone-900 border-stone-900">...</p>
CSS
.element {
  color: var(--color-stone-900);
  background-color: oklch(21.6% 0.006 56.043);
  border-color: #1c1917;
  outline-color: rgb(28 25 23);
}
SwiftUI
import SwiftUI

extension Color {
  static let stone900 = Color(red: 0.110, green: 0.098, blue: 0.090)
}
Jetpack Compose
import androidx.compose.ui.graphics.Color

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

const stone900 = Color(0xFF1C1917);
Android XML
<!-- res/values/colors.xml -->
<color name="stone_900">#1C1917</color>

Frequently asked questions

What is the hex code for Tailwind stone-900?
In Tailwind CSS v4, stone-900 is oklch(21.6% 0.006 56.043), which converts to #1C1917 (rgb(28, 25, 23)) in sRGB. In Tailwind v3 the same name was #1C1917.
What is the difference between stone-900 in Tailwind v3 and v4?
v3 used the hex #1C1917; v4 redefined the palette in OKLCH as oklch(21.6% 0.006 56.043). In v3, stone-900 was #1C1917. The v4 value is ΔE OK 0.0 away, below the point where most people can tell them apart.
How do I use stone-900 in plain CSS?
Tailwind v4 defines every palette color as a theme variable, so in CSS you write var(--color-stone-900). By default Tailwind only emits the variables your project uses; @theme static emits all of them.
Can you use white text on stone-900?
White text on stone-900 has a contrast ratio of 17.48:1, which passes both AA and AAA under WCAG 2.2. Black text reaches 1.20:1 and fails AA even for large text. In APCA terms that is Lc −106.6 for white and Lc 0.0 for black.
Which CSS named color is closest to stone-900?
The closest is midnightblue (#191970) at ΔE OK 16.5, followed by darkslategray and navy.

Last reviewed by Arielton Oberek.