Tailwind CSS v4 default palette
Tailwind taupe-50: #FBFAF9
In Tailwind CSS v4, taupe-50 is defined as --color-taupe-50: oklch(98.6% 0.002 67.8), which is #FBFAF9 in hex and rgb(251, 250, 249): a neutral near-white.
In OKLCH, taupe-50 has a lightness of 98.6%, chroma 0.002 and hue 67.8°.
The value fits inside sRGB, so the hex #FBFAF9 represents it without loss on any screen.
Tailwind taupe is a tinted neutral added in v4.2: a warm gray with a brown cast. It has no v3 equivalent.
Color codes for taupe-50
| Tailwind v4 token | --color-taupe-50 |
|---|---|
| OKLCH (source value) | oklch(98.6% 0.002 67.8) |
| HEX | #FBFAF9 |
| RGB | rgb(251, 250, 249) |
| HSL | hsl(30, 20%, 98%) |
| HWB | hwb(30 98% 2%) |
| CMYK (naive, no ICC profile) | cmyk(0%, 0%, 1%, 2%) |
| Decimal | 16,513,785 |
| Utility classes | bg-taupe-50, text-taupe-50, border-taupe-50 |
Tailwind taupe scale
Contrast and accessibility
On taupe-50, black text has a contrast ratio of 20.14:1 and passes AAA at any text size; white text reaches 1.04: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 taupe-50 | 20.14:1 | Pass | Pass | Pass | Pass | 103.1 |
| White text on taupe-50 | 1.04:1 | Fail | Fail | Fail | Fail | 0.0 |
| Taupe-50 text on white | 1.04:1 | Fail | Fail | Fail | Fail | 0.0 |
| Taupe-50 text on black | 20.14:1 | Pass | Pass | Pass | Pass | −104.7 |
Tints and shades
Each step mixes var(--color-taupe-50) with white (tints) or black (shades) in gamma-encoded sRGB, the same result as color-mix(in srgb, var(--color-taupe-50), white 25%) in CSS.
Tints (mixed with white)
- 5%
#fbfaf9 - 15%
#fcfbfa - 25%
#fcfbfb - 35%
#fcfcfb - 45%
#fdfcfc - 55%
#fdfdfc - 65%
#fefdfd - 75%
#fefefe - 85%
#fefefe - 95%
#ffffff
Shades (mixed with black)
- 5%
#eeeeed - 15%
#d5d5d4 - 25%
#bcbcbb - 35%
#a3a3a2 - 45%
#8a8a89 - 55%
#717070 - 65%
#585857 - 75%
#3f3f3e - 85%
#262625 - 95%
#0d0d0c
Color harmonies
Rotating the hue in OKLCH while keeping lightness and chroma, taupe-50's complementary color is #F9FAFC (close to ghostwhite), its analogous colors are #FCFAF9 and #FBFAF9, and its triadic partners are #F9FBFB and #FBFAFB. For text on top, black gives the higher contrast.
| Harmony | Rotation | Color |
|---|---|---|
| Complementary | +180° | #f9fafc |
| Analogous | −30°, +30° | #fcfaf9#fbfaf9 |
| Triadic | +120°, +240° | #f9fbfb#fbfafb |
| Split-complementary | +150°, +210° | #f9fbfb#fafafc |
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 taupe-50 is close to neutral: its OKLCH chroma is only 0.002, so its temperature comes from context. It has no perceptible hue.
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 |
|---|---|---|
| snow | #fffafa | 0.5 |
| ghostwhite | #f8f8ff | 1.2 |
| floralwhite | #fffaf0 | 1.2 |
Nearest Tailwind v4 colors
| Color | HEX | ΔE OK |
|---|---|---|
| stone-50 | #fafaf9 | 0.2 |
| zinc-50 | #fafafa | 0.2 |
| neutral-50 | #fafafa | 0.2 |
Code snippets
<div class="bg-taupe-50 text-black">...</div>
<p class="text-taupe-50 border-taupe-50">...</p>.element {
color: var(--color-taupe-50);
background-color: oklch(98.6% 0.002 67.8);
border-color: #fbfaf9;
outline-color: rgb(251 250 249);
}import SwiftUI
extension Color {
static let taupe50 = Color(red: 0.984, green: 0.980, blue: 0.976)
}import androidx.compose.ui.graphics.Color
val Taupe50 = Color(0xFFFBFAF9)import 'package:flutter/material.dart';
const taupe50 = Color(0xFFFBFAF9);<!-- res/values/colors.xml -->
<color name="taupe_50">#FBFAF9</color>Frequently asked questions
- What is the hex code for Tailwind taupe-50?
- In Tailwind CSS v4, taupe-50 is oklch(98.6% 0.002 67.8), which converts to #FBFAF9 (rgb(251, 250, 249)) in sRGB.
- Is taupe-50 available in Tailwind v3?
- No. The taupe 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 #FBFAF9.
- How do I use taupe-50 in plain CSS?
- Tailwind v4 defines every palette color as a theme variable, so in CSS you write var(--color-taupe-50). By default Tailwind only emits the variables your project uses; @theme static emits all of them.
- Can you use white text on taupe-50?
- White text on taupe-50 has a contrast ratio of 1.04:1, which fails AA even for large text under WCAG 2.2. Black text reaches 20.14:1 and passes both AA and AAA. In APCA terms that is Lc 0.0 for white and Lc 103.1 for black.
- Which CSS named color is closest to taupe-50?
- The closest is snow (#FFFAFA) at ΔE OK 0.5, followed by ghostwhite and floralwhite.
Last reviewed by Arielton Oberek.