oklchcolor

Obsidian Dark

Dark Mode Surfaces

A specialized dark-mode canvas and border palette ranging from oklch(0.12 0 0) to oklch(0.35 0 0) for pristine zero-distortion dark UIs.

About the Obsidian Dark palette

A specialized dark-mode canvas and border palette ranging from oklch(0.12 0 0) to oklch(0.35 0 0) for pristine zero-distortion dark UIs. The scale is anchored at hue 260 in OKLCH, so every step keeps the same hue while lightness moves in perceptually even steps from 50 to 950. The 500 step (#6d6f71) is your base color. Shades 500-950 pass WCAG 2.1 AA against white and shades 50, 100, 200, 300, 400 pass against black, so use the light end for backgrounds and the dark end for text on light surfaces (or vice versa). Each value is copy-ready as oklch(), HEX, RGB or HSL.

Shade StepsCopy a value, or save it to a variable of your own
Obsidian Dark scale

11 colors · click a card to copy

cart writes to --color-obsidian-dark-*

50
oklch(97.0% 0.001 260.0)
100
oklch(93.0% 0.002 260.0)
200
oklch(86.0% 0.003 260.0)
300
oklch(76.0% 0.004 260.0)
400
oklch(64.0% 0.004 260.0)
500
oklch(54.0% 0.004 260.0)
600
oklch(45.0% 0.004 260.0)
700
oklch(37.0% 0.004 260.0)
800
oklch(28.0% 0.003 260.0)
900
oklch(22.0% 0.004 260.0)
950
oklch(13.0% 0.002 260.0)

Shade Step Breakdown (50 to 950)

SwatchShade StepOKLCH CSS ValuesRGB FallbackRGBHSLWCAG on BlackWCAG on WhiteGamut
50oklch(97.0% 0.001 260.0)#f5f5f6rgb(245, 245, 246)hsl(217.04, 5.51%, 96.13%)19.27:11.09:1sRGB
100oklch(93.0% 0.002 260.0)#e7e8e9rgb(231, 232, 233)hsl(217.04, 4.68%, 90.98%)17.12:11.23:1sRGB
200oklch(86.0% 0.003 260.0)#d0d1d3rgb(208, 209, 211)hsl(217.04, 3.46%, 82.07%)13.74:11.53:1sRGB
300oklch(76.0% 0.004 260.0)#afb1b4rgb(175, 177, 180)hsl(217.04, 2.64%, 69.61%)9.77:12.15:1sRGB
400oklch(64.0% 0.004 260.0)#8b8c8frgb(139, 140, 143)hsl(217.04, 1.71%, 55.13%)6.25:13.36:1sRGB
500oklch(54.0% 0.004 260.0)#6d6f71rgb(109, 111, 113)hsl(217.04, 1.69%, 43.57%)4.16:15.05:1sRGB
600oklch(45.0% 0.004 260.0)#545557rgb(84, 85, 87)hsl(217.04, 2.09%, 33.6%)2.81:17.46:1sRGB
700oklch(37.0% 0.004 260.0)#3e4042rgb(62, 64, 66)hsl(217.04, 2.66%, 25.15%)2.02:110.41:1sRGB
800oklch(28.0% 0.003 260.0)#28292brgb(40, 41, 43)hsl(217.04, 3.28%, 16.15%)1.44:114.56:1sRGB
900oklch(22.0% 0.004 260.0)#191b1crgb(25, 27, 28)hsl(217.03, 5.55%, 10.58%)1.21:117.29:1sRGB
950oklch(13.0% 0.002 260.0)#070708rgb(7, 7, 8)hsl(217.59, 6.69%, 2.9%)1.04:120.14:1sRGB

Tailwind v4 @theme Snippet for Obsidian Dark

Copy into global.css
        @theme {
  --color-obsidian-dark-50: oklch(97.0% 0.001 260.0);
  --color-obsidian-dark-100: oklch(93.0% 0.002 260.0);
  --color-obsidian-dark-200: oklch(86.0% 0.003 260.0);
  --color-obsidian-dark-300: oklch(76.0% 0.004 260.0);
  --color-obsidian-dark-400: oklch(64.0% 0.004 260.0);
  --color-obsidian-dark-500: oklch(54.0% 0.004 260.0);
  --color-obsidian-dark-600: oklch(45.0% 0.004 260.0);
  --color-obsidian-dark-700: oklch(37.0% 0.004 260.0);
  --color-obsidian-dark-800: oklch(28.0% 0.003 260.0);
  --color-obsidian-dark-900: oklch(22.0% 0.004 260.0);
  --color-obsidian-dark-950: oklch(13.0% 0.002 260.0);
}

Convert Obsidian Dark shades

Working with these shades in another format? Use the matching converter — the same values you see above, converted instantly with live gamut detection.

Related palettes