Skip to content

Tailwind CSS v4 default palette

Tailwind olive-900: #1D1D16

In Tailwind CSS v4, olive-900 is defined as --color-olive-900: oklch(22.8% 0.013 107.4), which is #1D1D16 in hex and rgb(29, 29, 22): a very dark, grayish olive.

olive-900#1D1D16

In OKLCH, olive-900 has a lightness of 22.8%, chroma 0.013 and hue 107.4°.

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

Tailwind olive is a tinted neutral added in v4.2: a gray with a yellow-green cast. It has no v3 equivalent.

Color codes for olive-900

Color codes for olive-900
Tailwind v4 token--color-olive-900
OKLCH (source value)oklch(22.8% 0.013 107.4)
HEX#1D1D16
RGBrgb(29, 29, 22)
HSLhsl(60, 14%, 10%)
HWBhwb(60 9% 89%)
CMYK (naive, no ICC profile)cmyk(0%, 0%, 24%, 89%)
Decimal1,907,990
Utility classesbg-olive-900, text-olive-900, border-olive-900

Tailwind olive scale

Contrast and accessibility

On olive-900, white text has a contrast ratio of 16.94:1 and passes AAA at any text size; black 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.

Contrast and accessibility
PairRatioAAAA largeAAAAAA largeAPCA Lc
Black text on olive-9001.23:1FailFailFailFail0.0
White text on olive-90016.94:1PassPassPassPass−106.2
Olive-900 text on white16.94:1PassPassPassPass103.9
Olive-900 text on black1.23:1FailFailFailFail0.0

Tints and shades

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

Tints (mixed with white)

  1. 5%
    #282822
  2. 15%
    #3f3f39
  3. 25%
    #565650
  4. 35%
    #6c6c68
  5. 45%
    #83837f
  6. 55%
    #999996
  7. 65%
    #b0b0ad
  8. 75%
    #c7c7c5
  9. 85%
    #dddddc
  10. 95%
    #f4f4f3

Shades (mixed with black)

  1. 5%
    #1c1c15
  2. 15%
    #191913
  3. 25%
    #161611
  4. 35%
    #13130e
  5. 45%
    #10100c
  6. 55%
    #0d0d0a
  7. 65%
    #0a0a08
  8. 75%
    #070706
  9. 85%
    #040403
  10. 95%
    #010101

Color harmonies

Rotating the hue in OKLCH while keeping lightness and chroma, olive-900's complementary color is #1C1C22 (close to midnightblue), its analogous colors are #201C16 and #1A1E18, and its triadic partners are #161E21 and #211A1E. For text on top, white gives the higher contrast.

Color harmonies
HarmonyRotationColor
Complementary+180°#1c1c22
Analogous−30°, +30°#201c16#1a1e18
Triadic+120°, +240°#161e21#211a1e
Split-complementary+150°, +210°#191d23#1f1b21

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 olive-900 is close to neutral: its OKLCH chroma is only 0.013, so its temperature comes from context. The faint 60° 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.7
darkslategray#2f4f4f17.9
navy#00008020.4

Nearest Tailwind v4 colors

Nearest Tailwind v4 colors
ColorHEXΔE OK
stone-900#1c19171.6
taupe-900#1d18161.9
mist-900#161b1d2.1

Code snippets

Tailwind CSS
<div class="bg-olive-900 text-white">...</div>
<p class="text-olive-900 border-olive-900">...</p>
CSS
.element {
  color: var(--color-olive-900);
  background-color: oklch(22.8% 0.013 107.4);
  border-color: #1d1d16;
  outline-color: rgb(29 29 22);
}
SwiftUI
import SwiftUI

extension Color {
  static let olive900 = Color(red: 0.114, green: 0.114, blue: 0.086)
}
Jetpack Compose
import androidx.compose.ui.graphics.Color

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

const olive900 = Color(0xFF1D1D16);
Android XML
<!-- res/values/colors.xml -->
<color name="olive_900">#1D1D16</color>

Frequently asked questions

What is the hex code for Tailwind olive-900?
In Tailwind CSS v4, olive-900 is oklch(22.8% 0.013 107.4), which converts to #1D1D16 (rgb(29, 29, 22)) in sRGB.
Is olive-900 available in Tailwind v3?
No. The olive scale was added in Tailwind CSS v4.2. In v3 you can recreate it in tailwind.config.js under theme.extend.colors with the hex #1D1D16.
How do I use olive-900 in plain CSS?
Tailwind v4 defines every palette color as a theme variable, so in CSS you write var(--color-olive-900). By default Tailwind only emits the variables your project uses; @theme static emits all of them.
Can you use white text on olive-900?
White text on olive-900 has a contrast ratio of 16.94:1, which passes both AA and AAA under WCAG 2.2. Black text reaches 1.23:1 and fails AA even for large text. In APCA terms that is Lc −106.2 for white and Lc 0.0 for black.
Which CSS named color is closest to olive-900?
The closest is midnightblue (#191970) at ΔE OK 16.7, followed by darkslategray and navy.

Last reviewed by Arielton Oberek.