Tailwind CSS v4 default palette
Tailwind orange-400: #FF8904
In Tailwind CSS v4, orange-400 is defined as --color-orange-400: oklch(75% 0.183 55.934), which is #FF8904 in hex and rgb(255, 137, 4): a light, vivid orange. In Tailwind v3, orange-400 was #FB923C.
In OKLCH, orange-400 has a lightness of 75.0%, chroma 0.183 and hue 55.9°.
This OKLCH value lies outside sRGB. The hex #FF8904 is the sRGB fallback from the CSS Color 4 gamut mapping algorithm; on Display P3 screens browsers show a more saturated color, close to color(display-p3 0.9502 0.5618 0.211).
In v3, orange-400 was #FB923C. The v4 value is ΔE OK 2.5 away; v4 is darker and more saturated.
Tailwind orange runs from a pale peach at 50 to a deep burnt orange at 950, with its highest chroma at 600.
Color codes for orange-400
| Tailwind v4 token | --color-orange-400 |
|---|---|
| OKLCH (source value) | oklch(75% 0.183 55.934) |
| HEX | #FF8904 |
| RGB | rgb(255, 137, 4) |
| HSL | hsl(32, 100%, 51%) |
| HWB | hwb(32 2% 0%) |
| CMYK (naive, no ICC profile) | cmyk(0%, 46%, 98%, 0%) |
| Decimal | 16,746,756 |
| Display P3 | color(display-p3 0.9502 0.5618 0.211) |
| Tailwind v3 hex | #FB923C |
| Utility classes | bg-orange-400, text-orange-400, border-orange-400 |
Tailwind orange scale
Contrast and accessibility
On orange-400, black text has a contrast ratio of 8.83:1 and passes AAA at any text size; white text reaches 2.37: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 orange-400 | 8.83:1 | Pass | Pass | Pass | Pass | 57.7 |
| White text on orange-400 | 2.37:1 | Fail | Fail | Fail | Fail | −51.2 |
| Orange-400 text on white | 2.37:1 | Fail | Fail | Fail | Fail | 46.3 |
| Orange-400 text on black | 8.83:1 | Pass | Pass | Pass | Pass | −55.8 |
Tints and shades
Each step mixes var(--color-orange-400) with white (tints) or black (shades) in gamma-encoded sRGB, the same result as color-mix(in srgb, var(--color-orange-400), white 25%) in CSS.
Tints (mixed with white)
- 5%
#ff8f11 - 15%
#ff9b2a - 25%
#ffa743 - 35%
#ffb25c - 45%
#ffbe75 - 55%
#ffca8e - 65%
#ffd6a7 - 75%
#ffe2c0 - 85%
#ffedd9 - 95%
#fff9f2
Shades (mixed with black)
- 5%
#f28204 - 15%
#d97403 - 25%
#bf6703 - 35%
#a65903 - 45%
#8c4b02 - 55%
#733e02 - 65%
#593001 - 75%
#402201 - 85%
#261501 - 95%
#0d0700
Color harmonies
Rotating the hue in OKLCH while keeping lightness and chroma, orange-400's complementary color is #00BCFF (close to deepskyblue), its analogous colors are #FF7B72 and #DEA300, and its triadic partners are #00CEAA and #B994FF. For text on top, black gives the higher contrast.
| Harmony | Rotation | Color |
|---|---|---|
| Complementary | +180° | #00bcff |
| Analogous | −30°, +30° | #ff7b72#dea300 |
| Triadic | +120°, +240° | #00ceaa#b994ff |
| Split-complementary | +150°, +210° | #00c7db#81aaff |
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 orange-400 is a warm color: its hue is 32° on the HSL wheel, in the red, orange and yellow range (0° to about 70°, plus reds above 330°) that is conventionally called warm.
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 |
|---|---|---|
| darkorange | #ff8c00 | 0.8 |
| coral | #ff7f50 | 5.2 |
| orange | #ffa500 | 6.3 |
Nearest Tailwind v4 colors
| Color | HEX | ΔE OK |
|---|---|---|
| amber-500 | #fd9a00 | 5.0 |
| orange-500 | #ff6900 | 6.1 |
| amber-600 | #e17100 | 8.4 |
Code snippets
<div class="bg-orange-400 text-black">...</div>
<p class="text-orange-400 border-orange-400">...</p>.element {
color: var(--color-orange-400);
background-color: oklch(75% 0.183 55.934);
border-color: #ff8904;
outline-color: rgb(255 137 4);
}import SwiftUI
extension Color {
static let orange400 = Color(red: 1.000, green: 0.537, blue: 0.016)
}import androidx.compose.ui.graphics.Color
val Orange400 = Color(0xFFFF8904)import 'package:flutter/material.dart';
const orange400 = Color(0xFFFF8904);<!-- res/values/colors.xml -->
<color name="orange_400">#FF8904</color>Frequently asked questions
- What is the hex code for Tailwind orange-400?
- In Tailwind CSS v4, orange-400 is oklch(75% 0.183 55.934), which converts to #FF8904 (rgb(255, 137, 4)) in sRGB after gamut mapping, because the OKLCH value is outside sRGB. In Tailwind v3 the same name was #FB923C.
- What is the difference between orange-400 in Tailwind v3 and v4?
- v3 used the hex #FB923C; v4 redefined the palette in OKLCH as oklch(75% 0.183 55.934). In v3, orange-400 was #FB923C. The v4 value is ΔE OK 2.5 away; v4 is darker and more saturated.
- How do I use orange-400 in plain CSS?
- Tailwind v4 defines every palette color as a theme variable, so in CSS you write var(--color-orange-400). By default Tailwind only emits the variables your project uses; @theme static emits all of them.
- Can you use white text on orange-400?
- White text on orange-400 has a contrast ratio of 2.37:1, which fails AA even for large text under WCAG 2.2. Black text reaches 8.83:1 and passes both AA and AAA. In APCA terms that is Lc −51.2 for white and Lc 57.7 for black.
- Which CSS named color is closest to orange-400?
- The closest is darkorange (#FF8C00) at ΔE OK 0.8, followed by coral and orange.
Last reviewed by Arielton Oberek.