Tailwind CSS v3 color

Tailwind blue-900 #1E3A8A

Tailwind CSS v3's blue-900 is #1E3A8A. It is a dark soft blue in the blue family. In OKLCH it sits at lightness 0.379, chroma 0.138 and hue 265.5°. The nearest CSS named color is darkslateblue (#483D8B), ΔE2000 7.0 away.

Relative luminance
0.0514
OKLCH L · C · h
0.379 · 0.138 · 265.5
Best text
White 10.35:1
Hue family
Blue

#1E3A8A color codes

HEX
#1E3A8A
RGB
rgb(30, 58, 138)
HSL
hsl(224, 64%, 33%)
OKLCH
oklch(0.379 0.138 265.5)
OKLab
oklab(0.379 -0.011 -0.137)
CIELAB (D65)
L* 27.12, a* 20.01, b* -47.60
XYZ (D65)
X 6.63, Y 5.14, Z 24.68
CMYK (naive)
cmyk(78%, 58%, 0%, 46%)

CIELAB and XYZ use the D65 white point; CSS lab() uses D50, so paste the OKLCH or HEX value into stylesheets. CMYK here is a plain formula with no press profile.

Legibility

Contrast: is #1E3A8A accessible?

White text on it reaches 10.35:1, passing AAA. Black text fails at 2.02:1.

WCAG 2 gives the same ratio whichever color is the text; APCA does not, so its Lc changes sign and size with polarity.

Open the Contrast System
  • Black text on it

    2.02:1

    • AA fails
    • AA large fails
    • AAA fails
    • APCA Lc +10
  • White text on it

    10.35:1

    • AA passes
    • AA large passes
    • AAA passes
    • APCA Lc −97
  • As text on black

    2.02:1

    • AA fails
    • AA large fails
    • AAA fails
    • APCA Lc −8
  • As text on white

    10.35:1

    • AA passes
    • AA large passes
    • AAA passes
    • APCA Lc +93

Nearest versions that pass 4.5:1

  • For text on white

    #1E3A8A 10.35:1

    It already reaches 10.35:1 on white, so no change is needed.

  • For text on black

    #4E71C6 4.50:1

    Lightening its OKLCH lightness from 0.38 to 0.56 reaches 4.50:1 on black, keeping the hue.

Checking another pair? Use the Contrast Checker.

Studio

Adjust #1E3A8A live

Move lightness, chroma and hue in OKLCH, or drag on the map. The map is every lightness and chroma at the current hue: sRGB inside the solid area, Display P3 out to the dashed line.

The studio needs JavaScript.

Scale

Shades and tints of #1E3A8A

Eleven OKLCH lightness steps at this hue, each with its contrast against white and black. #1E3A8A sits at step 800.

  1. 50#F1F5FF
    White
    1.09
    Black
    19.24
  2. 100#E2EBFF
    White
    1.19
    Black
    17.56
  3. 200#C5D8FF
    White
    1.43
    Black
    14.64
  4. 300#9FBDFF
    White
    1.87
    Black
    11.19
  5. 400#799EF6
    White
    2.61
    Black
    8.03
  6. 500#5E82D9
    White
    3.70
    Black
    5.67
  7. 600#486ABE
    White
    5.14
    Black
    4.08
  8. 700#3352A2
    White
    7.31
    Black
    2.86
  9. 800This color#1E3A8A
    White
    10.35
    Black
    2.02
  10. 900#0D2161
    White
    14.92
    Black
    1.40
  11. 950#020C44
    White
    18.44
    Black
    1.13

Under each step, white and black text on it; a bold figure passes 4.5:1.

Tailwind CSS v3 blue scale

The real Tailwind palette, for comparison with the computed ramp above.

  1. 50#EFF6FF
    White
    1.08
    Black
    19.29
  2. 100#DBEAFE
    White
    1.22
    Black
    17.21
  3. 200#BFDBFE
    White
    1.42
    Black
    14.77
  4. 300#93C5FD
    White
    1.80
    Black
    11.64
  5. 400#60A5FA
    White
    2.54
    Black
    8.25
  6. 500#3B82F6
    White
    3.67
    Black
    5.70
  7. 600#2563EB
    White
    5.16
    Black
    4.06
  8. 700#1D4ED8
    White
    6.70
    Black
    3.13
  9. 800#1E40AF
    White
    8.72
    Black
    2.40
  10. 900This color#1E3A8A
    White
    10.35
    Black
    2.02
  11. 950#172554
    White
    14.69
    Black
    1.42

Gamut

How vivid #1E3A8A can get

At its lightness and hue, sRGB reaches OKLCH chroma 0.259; #1E3A8A uses 53% of it. Display P3 reaches no further at this hue.

0.00.20.40.60.80.20.40.60.8 460480500520540560580600620
  • sRGB
  • Display P3
  • Rec. 2020
  • Dominant wavelength
OKLCH chroma
0.138
sRGB edge
0.259
Display P3 edge
0.259
Rec. 2020 edge
0.275
Dominant wavelength
470 nm
Excitation purity
69%
Chromaticity
x 0.1820, y 0.1409
  • This color#1E3A8A
  • Most vivid in sRGB#0D00C8
  • Most vivid in Display P3oklch(0.379 0.259 265.5)

On a screen without Display P3 the last tile shows the sRGB edge instead.

Use the wider color where screens show it
.accent {
  color: #1e3a8a;
}
@media (color-gamut: p3) {
  .accent { color: color(display-p3 0.0418 0 0.7532); }
}

Mixing

Mixing #1E3A8A

Each row is the same mix worked out in a different space, with the halfway color at its end. sRGB, which older CSS gradients use, can sag gray or dark in the middle; OKLab keeps the lightness steps even; OKLCH holds chroma and hue as it goes.

White #FFFFFF

  • sRGB50%#8F9DC5
  • OKLab50%#879BC7
  • OKLCH50%#879BC7

Black #000000

  • sRGB50%#0F1D45
  • OKLab50%#051032
  • OKLCH50%#051032

Its complement #553E00

  • sRGB50%#3A3C45
  • OKLab50%#3B4253
  • OKLCH50%#6C2445
In CSS
/* A gradient and a mix, worked out in OKLCH */
background: linear-gradient(in oklch, #1e3a8a, white);
color: color-mix(in oklch, #1e3a8a 50%, white);

In use

#1E3A8A in an interface

A button, a link, a heading, a focused field, an icon and a chart line in this color, on a light page and a dark one. Each check is a WCAG 2 contrast minimum: 1.4.3 for text, 1.4.11 for the rest.

Light page

  • Button labelText, 4.5:110.35:1 Passes
  • Link and body-size textText, 4.5:110.35:1 Passes
  • Large headingLarge text, 3:110.35:1 Passes
  • Icons, borders and focus ringsNon-text, 3:110.35:1 Passes

Dark page

  • Button labelText, 4.5:110.35:1 Passes
  • Link and body-size textText, 4.5:11.80:1 Fails
  • Large headingLarge text, 3:11.80:1 Fails
  • Icons, borders and focus ringsNon-text, 3:11.80:1 Fails

For text on this page, the nearest shade that passes is #577AD0 4.54:1

Color vision

How #1E3A8A looks with color blindness

Achromatopsia changes it most, ΔE2000 24.1; deuteranopia changes it least, 2.6.

Simulated with Machado et al. (2009) at full severity, in linear light.

Simulate a whole page What each type sees
  • Protanopia

    No working red (long-wavelength) cones

    #00458D ΔE2000 5.3

    Noticeable

    Reads as dark soft blue

  • Deuteranopia

    No working green (medium-wavelength) cones

    #003B88 ΔE2000 2.6

    Close match

    Reads as dark soft blue

  • Tritanopia

    No working blue (short-wavelength) cones

    #004E5C ΔE2000 19.3

    Distinct

    Reads as dark muted blue

  • Achromatopsia

    No cone color vision; lightness only

    #404040 ΔE2000 24.1

    Distinct

    Reads as dark gray

Pairing check

Checked against its complement, #553E00. Their lightness contrast is only 1.02:1, so where hue collapses, add a label, icon or pattern.

VisionThe pairΔE2000Verdict
Normal vision#1E3A8A · #553E0047.9Stays distinct
Protanopia#00458D · #483E0047.4Stays distinct
Deuteranopia#003B88 · #4D440349.8Stays distinct
Tritanopia#004E5C · #5D373441.0Stays distinct
Achromatopsia#404040 · #4242420.7Easily confused

Harmony

Color harmonies for #1E3A8A

Its complement is #553E00, a dark muted brown, on the warm side of the wheel.

Hue rotations in OKLCH, mapped into sRGB by trimming chroma so hue and lightness stay put.

Open the Harmony Studio
  • Base#1E3A8A
  • Complement#553E00

Complementary

Open in Harmony Studio
  • −30°#004867
  • Base#1E3A8A
  • +30°#4A2C82
  • Base#1E3A8A
  • +120°#7B1317
  • +240°#005113
  • Base#1E3A8A
  • +150°#663200
  • +210°#414700

Split-complementary

Open in Harmony Studio

Code

Design tokens

Ready-to-paste tokens in six formats. Rename them to fit your system.

CSS custom property

:root {
  --color-blue-900: #1e3a8a;
}

Tailwind config

// tailwind.config.js — already built in as blue-900;
// pin the v3 value explicitly like this:
module.exports = {
  theme: {
    extend: {
      colors: {
        blue: { 900: '#1e3a8a' },
      },
    },
  },
};

Tailwind v4 theme

/* app.css — Tailwind CSS v4 */
@import "tailwindcss";

@theme {
  /* v4 has its own blue-900; this pins the v3 value. */
  --color-blue-900: oklch(0.379 0.138 265.5);
}

Design token (W3C DTCG)

{
  "color": {
    "blue-900": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [0.1176, 0.2275, 0.5412],
        "hex": "#1e3a8a"
      },
      "$description": "Tailwind CSS v3 blue-900"
    }
  }
}

SwiftUI color

import SwiftUI

enum Palette {
    static let blue900 = Color(.sRGB, red: 0.118, green: 0.227, blue: 0.541, opacity: 1)
}

Jetpack Compose color

import androidx.compose.ui.graphics.Color

object Palette {
    val Blue900 = Color(0xFF1E3A8A)
}

Matches

The nearest match in each system

The closest CSS name, Tailwind shade, RAL Classic paint and Crayola crayon by ΔE2000; under 2 is hard to tell apart side by side. RAL and Crayola values approximate physical colors.

Tools

Open #1E3A8A in the tools

Each opens over this page. More colors live in the Color Library, and every color page is listed on the hub.