Tailwind CSS v4 default palette
Tailwind sky-50: #F0F9FF
In Tailwind CSS v4, sky-50 is defined as --color-sky-50: oklch(97.7% 0.013 236.62), which is #F0F9FF in hex and rgb(240, 249, 255): an off-white with a sky blue tint. In Tailwind v3, sky-50 was #F0F9FF.
In OKLCH, sky-50 has a lightness of 97.7%, chroma 0.013 and hue 236.6°.
This OKLCH value lies outside sRGB. The hex #F0F9FF 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.9465 0.9754 0.9983).
In v3, sky-50 was #F0F9FF. The v4 value is ΔE OK 0.1 away, below the point where most people can tell them apart.
Tailwind sky is a light, clear blue between cyan and blue. In v2.2 it replaced the older lightBlue name.
Color codes for sky-50
| Tailwind v4 token | --color-sky-50 |
|---|---|
| OKLCH (source value) | oklch(97.7% 0.013 236.62) |
| HEX | #F0F9FF |
| RGB | rgb(240, 249, 255) |
| HSL | hsl(204, 100%, 97%) |
| HWB | hwb(204 94% 0%) |
| CMYK (naive, no ICC profile) | cmyk(6%, 2%, 0%, 0%) |
| Decimal | 15,792,639 |
| Display P3 | color(display-p3 0.9465 0.9754 0.9983) |
| Tailwind v3 hex | #F0F9FF |
| Utility classes | bg-sky-50, text-sky-50, border-sky-50 |
Tailwind sky scale
Contrast and accessibility
On sky-50, black text has a contrast ratio of 19.69:1 and passes AAA at any text size; white text reaches 1.06: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 sky-50 | 19.69:1 | Pass | Pass | Pass | Pass | 101.6 |
| White text on sky-50 | 1.06:1 | Fail | Fail | Fail | Fail | 0.0 |
| Sky-50 text on white | 1.06:1 | Fail | Fail | Fail | Fail | 0.0 |
| Sky-50 text on black | 19.69:1 | Pass | Pass | Pass | Pass | −103.0 |
Tints and shades
Each step mixes var(--color-sky-50) with white (tints) or black (shades) in gamma-encoded sRGB, the same result as color-mix(in srgb, var(--color-sky-50), white 25%) in CSS.
Tints (mixed with white)
- 5%
#f1f9ff - 15%
#f2faff - 25%
#f4fbff - 35%
#f5fbff - 45%
#f7fcff - 55%
#f8fcff - 65%
#fafdff - 75%
#fbfeff - 85%
#fdfeff - 95%
#feffff
Shades (mixed with black)
- 5%
#e4edf2 - 15%
#ccd4d9 - 25%
#b4bbbf - 35%
#9ca2a6 - 45%
#84898c - 55%
#6c7073 - 65%
#545759 - 75%
#3c3e40 - 85%
#242526 - 95%
#0c0c0d
Color harmonies
Rotating the hue in OKLCH while keeping lightness and chroma, sky-50's complementary color is #FFF5EF (close to seashell), its analogous colors are #EEFAFC and #F3F7FF, and its triadic partners are #FFF4F7 and #F7F9EF. For text on top, black gives the higher contrast.
| Harmony | Rotation | Color |
|---|---|---|
| Complementary | +180° | #fff5ef |
| Analogous | −30°, +30° | #eefafc#f3f7ff |
| Triadic | +120°, +240° | #fff4f7#f7f9ef |
| Split-complementary | +150°, +210° | #fff4f3#fbf7ee |
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 sky-50 is close to neutral: its OKLCH chroma is only 0.013, so its temperature comes from context. The faint 204° hue gives it a slightly cool 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 |
|---|---|---|
| aliceblue | #f0f8ff | 0.3 |
| ghostwhite | #f8f8ff | 1.1 |
| whitesmoke | #f5f5f5 | 1.5 |
Code snippets
<div class="bg-sky-50 text-black">...</div>
<p class="text-sky-50 border-sky-50">...</p>.element {
color: var(--color-sky-50);
background-color: oklch(97.7% 0.013 236.62);
border-color: #f0f9ff;
outline-color: rgb(240 249 255);
}import SwiftUI
extension Color {
static let sky50 = Color(red: 0.941, green: 0.976, blue: 1.000)
}import androidx.compose.ui.graphics.Color
val Sky50 = Color(0xFFF0F9FF)import 'package:flutter/material.dart';
const sky50 = Color(0xFFF0F9FF);<!-- res/values/colors.xml -->
<color name="sky_50">#F0F9FF</color>Frequently asked questions
- What is the hex code for Tailwind sky-50?
- In Tailwind CSS v4, sky-50 is oklch(97.7% 0.013 236.62), which converts to #F0F9FF (rgb(240, 249, 255)) in sRGB after gamut mapping, because the OKLCH value is outside sRGB. In Tailwind v3 the same name was #F0F9FF.
- What is the difference between sky-50 in Tailwind v3 and v4?
- v3 used the hex #F0F9FF; v4 redefined the palette in OKLCH as oklch(97.7% 0.013 236.62). In v3, sky-50 was #F0F9FF. The v4 value is ΔE OK 0.1 away, below the point where most people can tell them apart.
- How do I use sky-50 in plain CSS?
- Tailwind v4 defines every palette color as a theme variable, so in CSS you write var(--color-sky-50). By default Tailwind only emits the variables your project uses; @theme static emits all of them.
- Can you use white text on sky-50?
- White text on sky-50 has a contrast ratio of 1.06:1, which fails AA even for large text under WCAG 2.2. Black text reaches 19.69:1 and passes both AA and AAA. In APCA terms that is Lc 0.0 for white and Lc 101.6 for black.
- Which CSS named color is closest to sky-50?
- The closest is aliceblue (#F0F8FF) at ΔE OK 0.3, followed by ghostwhite and whitesmoke.
Last reviewed by Arielton Oberek.