CSS named color

Saddle Brown #8B4513

The CSS keyword saddlebrown is #8B4513. It is a dark soft brown in the brown family. In OKLCH it sits at lightness 0.471, chroma 0.112 and hue 50.8°.

Relative luminance
0.0979
OKLCH L · C · h
0.471 · 0.112 · 50.8
Best text
White 7.09:1
Hue family
Brown

#8B4513 color codes

HEX
#8B4513
RGB
rgb(139, 69, 19)
HSL
hsl(25, 76%, 31%)
OKLCH
oklch(0.471 0.112 50.8)
OKLab
oklab(0.471 0.071 0.087)
CIELAB (D65)
L* 37.47, a* 26.44, b* 40.98
XYZ (D65)
X 12.89, Y 9.79, Z 1.83
CMYK (naive)
cmyk(0%, 50%, 86%, 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 #8B4513 accessible?

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

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

    7.09:1

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

    2.95:1

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

    7.09:1

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

Nearest versions that pass 4.5:1

  • For text on white

    #8B4513 7.09:1

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

  • For text on black

    #AB6234 4.52:1

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

Checking another pair? Use the Contrast Checker.

Studio

Adjust #8B4513 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 #8B4513

Eleven OKLCH lightness steps at this hue, each with its contrast against white and black. #8B4513 sits at step 700.

  1. 50#FFF2EB
    White
    1.09
    Black
    19.15
  2. 100#FFE5D7
    White
    1.20
    Black
    17.44
  3. 200#FFCBAD
    White
    1.45
    Black
    14.39
  4. 300#F5AA7F
    White
    1.91
    Black
    10.93
  5. 400#D88D60
    White
    2.65
    Black
    7.89
  6. 500#BB7143
    White
    3.77
    Black
    5.55
  7. 600#A1592B
    White
    5.27
    Black
    3.97
  8. 700This color#8B4513
    White
    7.09
    Black
    2.95
  9. 800#662D00
    White
    10.82
    Black
    1.94
  10. 900#441C00
    White
    14.87
    Black
    1.41
  11. 950#280D00
    White
    18.29
    Black
    1.14

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

Gamut

How vivid #8B4513 can get

At its lightness and hue, sRGB reaches OKLCH chroma 0.123; #8B4513 uses 91% of it. Display P3, which many recent phones and laptops show, reaches 0.140 there: 14% more.

0.00.20.40.60.80.20.40.60.8 460480500520540560580600620
  • sRGB
  • Display P3
  • Rec. 2020
  • Dominant wavelength
OKLCH chroma
0.112
sRGB edge
0.123
Display P3 edge
0.140
Rec. 2020 edge
0.142
Dominant wavelength
591 nm
Excitation purity
79%
Chromaticity
x 0.5260, y 0.3995
  • This color#8B4513
  • Most vivid in sRGB#8F4200
  • Most vivid in Display P3oklch(0.471 0.140 50.8)

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

Use the wider color where screens show it
.accent {
  color: #8b4513;
}
@media (color-gamut: p3) {
  .accent { color: color(display-p3 0.5433 0.2576 0); }
}

Mixing

Mixing #8B4513

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%#C5A289
  • OKLab50%#C7A08A
  • OKLCH50%#C7A08A

Black #000000

  • sRGB50%#46230A
  • OKLab50%#321503
  • OKLCH50%#321503

Its complement #006486

  • sRGB50%#46554D
  • OKLab50%#5F5A57
  • OKLCH50%#38692F
In CSS
/* A gradient and a mix, worked out in OKLCH */
background: linear-gradient(in oklch, #8b4513, white);
color: color-mix(in oklch, #8b4513 50%, white);

In use

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

Dark page

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

For text on this page, the nearest shade that passes is #B56B3E 4.58:1

Color vision

How #8B4513 looks with color blindness

Achromatopsia changes it most, ΔE2000 23.8; tritanopia changes it least, 17.9.

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

    #594E0A ΔE2000 20.9

    Distinct

    Reads as dark muted brown

  • Deuteranopia

    No working green (medium-wavelength) cones

    #6A5E11 ΔE2000 21.6

    Distinct

    Reads as dark muted brown

  • Tritanopia

    No working blue (short-wavelength) cones

    #99353B ΔE2000 17.9

    Distinct

    Reads as dark soft brown

  • Achromatopsia

    No cone color vision; lightness only

    #585858 ΔE2000 23.8

    Distinct

    Reads as dark gray

Pairing check

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

VisionThe pairΔE2000Verdict
Normal vision#8B4513 · #00648643.1Stays distinct
Protanopia#594E0A · #52638839.4Stays distinct
Deuteranopia#6A5E11 · #43588543.0Stays distinct
Tritanopia#99353B · #006D7047.6Stays distinct
Achromatopsia#585858 · #5D5D5D1.8Easily confused

Harmony

Color harmonies for #8B4513

Its complement is #006486, a dark muted blue, on the cool 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#8B4513
  • Complement#006486

Complementary

Open in Harmony Studio
  • −30°#8F3D3F
  • Base#8B4513
  • +30°#775400
  • Base#8B4513
  • +120°#006B54
  • +240°#5C4E95
  • Base#8B4513
  • +150°#00686D
  • +210°#355999

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-saddlebrown: #8b4513;
}

Tailwind config

// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        saddlebrown: '#8b4513',
      },
    },
  },
};

Tailwind v4 theme

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

@theme {
  --color-saddlebrown: oklch(0.471 0.112 50.8);
}

Design token (W3C DTCG)

{
  "color": {
    "saddlebrown": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [0.5451, 0.2706, 0.0745],
        "hex": "#8b4513"
      },
      "$description": "CSS named color saddlebrown"
    }
  }
}

SwiftUI color

import SwiftUI

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

Jetpack Compose color

import androidx.compose.ui.graphics.Color

object Palette {
    val Saddlebrown = Color(0xFF8B4513)
}

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 #8B4513 in the tools

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