CSS named color

Dark Blue #00008B

The CSS keyword darkblue is #00008B. It is a very dark vivid blue in the blue family. In OKLCH it sits at lightness 0.288, chroma 0.199 and hue 264.1°.

Relative luminance
0.0186
OKLCH L · C · h
0.288 · 0.199 · 264.1
Best text
White 15.29:1
Hue family
Blue

#00008B color codes

HEX
#00008B
RGB
rgb(0, 0, 139)
HSL
hsl(240, 100%, 27%)
OKLCH
oklch(0.288 0.199 264.1)
OKLab
oklab(0.288 -0.021 -0.198)
CIELAB (D65)
L* 14.75, a* 50.42, b* -68.68
XYZ (D65)
X 4.66, Y 1.86, Z 24.54
CMYK (naive)
cmyk(100%, 100%, 0%, 45%)

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 #00008B accessible?

White text on it reaches 15.29:1, passing AAA. Black text fails at 1.37: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

    1.37:1

    • AA fails
    • AA large fails
    • AAA fails
    • APCA Lc 0

    Text is here, unreadable at 1.37:1

  • White text on it

    15.29:1

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

    1.37:1

    • AA fails
    • AA large fails
    • AAA fails
    • APCA Lc 0

    Text is here, unreadable at 1.37:1

  • As text on white

    15.29:1

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

Nearest versions that pass 4.5:1

  • For text on white

    #00008B 15.29:1

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

  • For text on black

    #396DEC 4.57:1

    Lightening its OKLCH lightness from 0.29 to 0.57 reaches 4.57:1 on black, keeping the hue.

Checking another pair? Use the Contrast Checker.

Studio

Adjust #00008B 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 #00008B

Eleven OKLCH lightness steps at this hue, each with its contrast against white and black. #00008B sits at step 900.

  1. 50#F0F5FF
    White
    1.09
    Black
    19.21
  2. 100#E2ECFF
    White
    1.18
    Black
    17.67
  3. 200#C4D8FF
    White
    1.43
    Black
    14.61
  4. 300#9DBDFF
    White
    1.88
    Black
    11.15
  5. 400#719EFF
    White
    2.61
    Black
    8.03
  6. 500#467CFC
    White
    3.78
    Black
    5.54
  7. 600#3063E0
    White
    5.26
    Black
    3.98
  8. 700#1C4AC2
    White
    7.47
    Black
    2.80
  9. 800#082F9E
    White
    10.99
    Black
    1.91
  10. 900This color#00008B
    White
    15.29
    Black
    1.37
  11. 950#000053
    White
    18.66
    Black
    1.12

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

Gamut

How vivid #00008B can get

At its lightness and hue, sRGB reaches OKLCH chroma 0.174; #00008B uses 100% of it. Display P3, which many recent phones and laptops show, reaches 0.200 there: 15% more.

0.00.20.40.60.80.20.40.60.8 460480500520540560580600620
  • sRGB
  • Display P3
  • Rec. 2020
  • Dominant wavelength
OKLCH chroma
0.199
sRGB edge
0.174
Display P3 edge
0.200
Rec. 2020 edge
0.212
Dominant wavelength
464 nm
Excitation purity
93%
Chromaticity
x 0.1500, y 0.0600
  • This color#00008B
  • Most vivid in sRGB#00137F
  • Most vivid in Display P3oklch(0.288 0.200 264.1)

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

Use the wider color where screens show it
.accent {
  color: #00008b;
}
@media (color-gamut: p3) {
  .accent { color: color(display-p3 0 0 0.5227); }
}

Mixing

Mixing #00008B

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%#8080C5
  • OKLab50%#6E8CCA
  • OKLCH50%#6E8CCA

Black #000000

  • sRGB50%#000046
  • OKLab50%#000032
  • OKLCH50%#000032

Its complement #392800

  • sRGB50%#1D1446
  • OKLab50%#19294D
  • OKLCH50%#53002F
In CSS
/* A gradient and a mix, worked out in OKLCH */
background: linear-gradient(in oklch, #00008b, white);
color: color-mix(in oklch, #00008b 50%, white);

In use

#00008B 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:115.29:1 Passes
  • Link and body-size textText, 4.5:115.29:1 Passes
  • Large headingLarge text, 3:115.29:1 Passes
  • Icons, borders and focus ringsNon-text, 3:115.29:1 Passes

Dark page

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

For text on this page, the nearest shade that passes is #4075F4 4.52:1

Color vision

How #00008B looks with color blindness

Achromatopsia changes it most, ΔE2000 29.2; deuteranopia changes it least, 5.2.

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

    #002C8E ΔE2000 9.4

    Noticeable

    Reads as dark soft blue

  • Deuteranopia

    No working green (medium-wavelength) cones

    #001D89 ΔE2000 5.2

    Noticeable

    Reads as dark vivid blue

  • Tritanopia

    No working blue (short-wavelength) cones

    #00374F ΔE2000 15.8

    Distinct

    Reads as dark muted blue

  • Achromatopsia

    No cone color vision; lightness only

    #252525 ΔE2000 29.2

    Distinct

    Reads as near-black

Pairing check

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

VisionThe pairΔE2000Verdict
Normal vision#00008B · #39280049.0Stays distinct
Protanopia#002C8E · #2F280047.7Stays distinct
Deuteranopia#001D89 · #332D0151.1Stays distinct
Tritanopia#00374F · #3F232130.1Stays distinct
Achromatopsia#252525 · #2B2B2B1.9Easily confused

Harmony

Color harmonies for #00008B

Its complement is #392800, a very 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#00008B
  • Complement#392800

Complementary

Open in Harmony Studio
  • −30°#002F44
  • Base#00008B
  • +30°#34006F
  • Base#00008B
  • +120°#570009
  • +240°#003605
  • Base#00008B
  • +150°#451F00
  • +210°#2B2E00

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-darkblue: #00008b;
}

Tailwind config

// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        darkblue: '#00008b',
      },
    },
  },
};

Tailwind v4 theme

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

@theme {
  --color-darkblue: oklch(0.288 0.199 264.1);
}

Design token (W3C DTCG)

{
  "color": {
    "darkblue": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [0, 0, 0.5451],
        "hex": "#00008b"
      },
      "$description": "CSS named color darkblue"
    }
  }
}

SwiftUI color

import SwiftUI

enum Palette {
    static let darkblue = Color(.sRGB, red: 0.000, green: 0.000, blue: 0.545, opacity: 1)
}

Jetpack Compose color

import androidx.compose.ui.graphics.Color

object Palette {
    val Darkblue = Color(0xFF00008B)
}

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 #00008B in the tools

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