Tailwind CSS v4 default palette
Tailwind olive-950: #0C0C09
In Tailwind CSS v4, olive-950 is defined as --color-olive-950: oklch(15.3% 0.006 107.1), which is #0C0C09 in hex and rgb(12, 12, 9): a near-black with a faint olive tint.
In OKLCH, olive-950 has a lightness of 15.3%, chroma 0.006 and hue 107.1°.
The value fits inside sRGB, so the hex #0C0C09 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-950
| Tailwind v4 token | --color-olive-950 |
|---|---|
| OKLCH (source value) | oklch(15.3% 0.006 107.1) |
| HEX | #0C0C09 |
| RGB | rgb(12, 12, 9) |
| HSL | hsl(60, 14%, 4%) |
| HWB | hwb(60 4% 95%) |
| CMYK (naive, no ICC profile) | cmyk(0%, 0%, 25%, 95%) |
| Decimal | 789,513 |
| Utility classes | bg-olive-950, text-olive-950, border-olive-950 |
Tailwind olive scale
Contrast and accessibility
On olive-950, white text has a contrast ratio of 19.58:1 and passes AAA at any text size; black text reaches 1.07: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 olive-950 | 1.07:1 | Fail | Fail | Fail | Fail | 0.0 |
| White text on olive-950 | 19.58:1 | Pass | Pass | Pass | Pass | −107.7 |
| Olive-950 text on white | 19.58:1 | Pass | Pass | Pass | Pass | 105.8 |
| Olive-950 text on black | 1.07:1 | Fail | Fail | Fail | Fail | 0.0 |
Tints and shades
Each step mixes var(--color-olive-950) with white (tints) or black (shades) in gamma-encoded sRGB, the same result as color-mix(in srgb, var(--color-olive-950), white 25%) in CSS.
Tints (mixed with white)
- 5%
#181815 - 15%
#30302e - 25%
#494947 - 35%
#61615f - 45%
#797978 - 55%
#929290 - 65%
#aaaaa9 - 75%
#c2c2c2 - 85%
#dbdbda - 95%
#f3f3f3
Shades (mixed with black)
- 5%
#0b0b09 - 15%
#0a0a08 - 25%
#090907 - 35%
#080806 - 45%
#070705 - 55%
#050504 - 65%
#040403 - 75%
#030302 - 85%
#020201 - 95%
#010100
Color harmonies
Rotating the hue in OKLCH while keeping lightness and chroma, olive-950's complementary color is #0C0B0E (close to black), its analogous colors are #0D0B09 and #0B0C0A, and its triadic partners are #090C0E and #0E0B0C. For text on top, white gives the higher contrast.
| Harmony | Rotation | Color |
|---|---|---|
| Complementary | +180° | #0c0b0e |
| Analogous | −30°, +30° | #0d0b09#0b0c0a |
| Triadic | +120°, +240° | #090c0e#0e0b0c |
| Split-complementary | +150°, +210° | #0a0c0e#0d0b0d |
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-950 is close to neutral: its OKLCH chroma is only 0.006, 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
| Color | HEX | ΔE OK |
|---|---|---|
| black | #000000 | 15.3 |
| midnightblue | #191970 | 20.1 |
| navy | #000080 | 22.7 |
Nearest Tailwind v4 colors
| Color | HEX | ΔE OK |
|---|---|---|
| taupe-950 | #0c0a09 | 0.8 |
| stone-950 | #0c0a09 | 0.8 |
| neutral-950 | #0a0a0a | 1.0 |
Code snippets
<div class="bg-olive-950 text-white">...</div>
<p class="text-olive-950 border-olive-950">...</p>.element {
color: var(--color-olive-950);
background-color: oklch(15.3% 0.006 107.1);
border-color: #0c0c09;
outline-color: rgb(12 12 9);
}import SwiftUI
extension Color {
static let olive950 = Color(red: 0.047, green: 0.047, blue: 0.035)
}import androidx.compose.ui.graphics.Color
val Olive950 = Color(0xFF0C0C09)import 'package:flutter/material.dart';
const olive950 = Color(0xFF0C0C09);<!-- res/values/colors.xml -->
<color name="olive_950">#0C0C09</color>Frequently asked questions
- What is the hex code for Tailwind olive-950?
- In Tailwind CSS v4, olive-950 is oklch(15.3% 0.006 107.1), which converts to #0C0C09 (rgb(12, 12, 9)) in sRGB.
- Is olive-950 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 #0C0C09.
- How do I use olive-950 in plain CSS?
- Tailwind v4 defines every palette color as a theme variable, so in CSS you write var(--color-olive-950). By default Tailwind only emits the variables your project uses; @theme static emits all of them.
- Can you use white text on olive-950?
- White text on olive-950 has a contrast ratio of 19.58:1, which passes both AA and AAA under WCAG 2.2. Black text reaches 1.07:1 and fails AA even for large text. In APCA terms that is Lc −107.7 for white and Lc 0.0 for black.
- Which CSS named color is closest to olive-950?
- The closest is black (#000000) at ΔE OK 15.3, followed by midnightblue and navy.
Last reviewed by Arielton Oberek.