CSS named color

Light Sea Green #20B2AA

The CSS keyword lightseagreen is #20B2AA. It is a light soft cyan in the cyan family. In OKLCH it sits at lightness 0.691, chroma 0.114 and hue 189.0°.

Relative luminance
0.3505
OKLCH L · C · h
0.691 · 0.114 · 189.0
Best text
Black 8.01:1
Hue family
Cyan

#20B2AA color codes

HEX
#20B2AA
RGB
rgb(32, 178, 170)
HSL
hsl(177, 70%, 41%)
OKLCH
oklch(0.691 0.114 189.0)
OKLab
oklab(0.691 -0.113 -0.018)
CIELAB (D65)
L* 65.79, a* -37.51, b* -6.33
XYZ (D65)
X 23.77, Y 35.05, Z 43.53
CMYK (naive)
cmyk(82%, 0%, 4%, 30%)

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 #20B2AA accessible?

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

    8.01:1

    • AA passes
    • AA large passes
    • AAA passes
    • APCA Lc +53
  • White text on it

    2.62:1

    • AA fails
    • AA large fails
    • AAA fails
    • APCA Lc −55
  • As text on black

    8.01:1

    • AA passes
    • AA large passes
    • AAA passes
    • APCA Lc −51
  • As text on white

    2.62:1

    • AA fails
    • AA large fails
    • AAA fails
    • APCA Lc +50

Nearest versions that pass 4.5:1

  • For text on white

    #00857F 4.50:1

    Darkening its OKLCH lightness from 0.69 to 0.56 reaches 4.50:1 on white, keeping the hue.

  • For text on black

    #20B2AA 8.01:1

    It already reaches 8.01:1 on black, so no change is needed.

Checking another pair? Use the Contrast Checker.

Studio

Adjust #20B2AA 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 #20B2AA

Eleven OKLCH lightness steps at this hue, each with its contrast against white and black. #20B2AA sits at step 400.

  1. 50#D6FFFB
    White
    1.07
    Black
    19.55
  2. 100#A2FFF7
    White
    1.15
    Black
    18.18
  3. 200#82EDE5
    White
    1.38
    Black
    15.19
  4. 300#5DD4CC
    White
    1.78
    Black
    11.75
  5. 400This color#20B2AA
    White
    2.62
    Black
    8.01
  6. 500#009A93
    White
    3.47
    Black
    6.04
  7. 600#00807A
    White
    4.80
    Black
    4.36
  8. 700#006661
    White
    6.83
    Black
    3.07
  9. 800#004A47
    White
    10.14
    Black
    2.07
  10. 900#00302E
    White
    14.36
    Black
    1.46
  11. 950#001B19
    White
    17.93
    Black
    1.17

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

Gamut

How vivid #20B2AA can get

At its lightness and hue, sRGB reaches OKLCH chroma 0.120; #20B2AA uses 95% of it. Display P3, which many recent phones and laptops show, reaches 0.162 there: 35% more.

0.00.20.40.60.80.20.40.60.8 460480500520540560580600620
  • sRGB
  • Display P3
  • Rec. 2020
  • Dominant wavelength
OKLCH chroma
0.114
sRGB edge
0.120
Display P3 edge
0.162
Rec. 2020 edge
0.260
Dominant wavelength
493 nm
Excitation purity
28%
Chromaticity
x 0.2322, y 0.3424
  • This color#20B2AA
  • Most vivid in sRGB#00B3AB
  • Most vivid in Display P3oklch(0.691 0.162 189.0)

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

Use the wider color where screens show it
.accent {
  color: #20b2aa;
}
@media (color-gamut: p3) {
  .accent { color: color(display-p3 0 0.7151 0.6862); }
}

Mixing

Mixing #20B2AA

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%#90D9D5
  • OKLab50%#A2D9D4
  • OKLCH50%#A2D9D4

Black #000000

  • sRGB50%#105955
  • OKLab50%#06433F
  • OKLCH50%#06433F

Its complement #D87C8D

  • sRGB50%#7C979C
  • OKLab50%#9C9B9C
  • OKLCH50%#8C94E2
In CSS
/* A gradient and a mix, worked out in OKLCH */
background: linear-gradient(in oklch, #20b2aa, white);
color: color-mix(in oklch, #20b2aa 50%, white);

In use

#20B2AA 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:18.01:1 Passes
  • Link and body-size textText, 4.5:12.62:1 Fails
  • Large headingLarge text, 3:12.62:1 Fails
  • Icons, borders and focus ringsNon-text, 3:12.62:1 Fails

For text on this page, the nearest shade that passes is #00857F 4.50:1

Dark page

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

Color vision

How #20B2AA looks with color blindness

Deuteranopia changes it most, ΔE2000 24.7; tritanopia changes it least, 1.5.

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

    #A7A8AA ΔE2000 23.7

    Distinct

    Reads as light gray

  • Deuteranopia

    No working green (medium-wavelength) cones

    #949AAB ΔE2000 24.7

    Distinct

    Reads as light grayish blue

  • Tritanopia

    No working blue (short-wavelength) cones

    #00B7AF ΔE2000 1.5

    Very close

    Reads as light soft cyan

  • Achromatopsia

    No cone color vision; lightness only

    #A0A0A0 ΔE2000 23.5

    Distinct

    Reads as gray

Pairing check

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

VisionThe pairΔE2000Verdict
Normal vision#20B2AA · #D87C8D54.6Stays distinct
Protanopia#A7A8AA · #8C8C8D8.9Harder to tell apart
Deuteranopia#949AAB · #A39E8B18.0Stays distinct
Tritanopia#00B7AF · #E7748258.6Stays distinct
Achromatopsia#A0A0A0 · #9797972.8Easily confused

Harmony

Color harmonies for #20B2AA

Its complement is #D87C8D, a light soft pink, 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#20B2AA
  • Complement#D87C8D

Complementary

Open in Harmony Studio
  • −30°#54B182
  • Base#20B2AA
  • +30°#2DACCB
  • Base#20B2AA
  • +120°#B088D1
  • +240°#C98E46
  • Base#20B2AA
  • +150°#CA7FB3
  • +210°#D88265

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-lightseagreen: #20b2aa;
}

Tailwind config

// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        lightseagreen: '#20b2aa',
      },
    },
  },
};

Tailwind v4 theme

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

@theme {
  --color-lightseagreen: oklch(0.691 0.114 189.0);
}

Design token (W3C DTCG)

{
  "color": {
    "lightseagreen": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [0.1255, 0.698, 0.6667],
        "hex": "#20b2aa"
      },
      "$description": "CSS named color lightseagreen"
    }
  }
}

SwiftUI color

import SwiftUI

enum Palette {
    static let lightseagreen = Color(.sRGB, red: 0.125, green: 0.698, blue: 0.667, opacity: 1)
}

Jetpack Compose color

import androidx.compose.ui.graphics.Color

object Palette {
    val Lightseagreen = Color(0xFF20B2AA)
}

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 #20B2AA in the tools

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