Tailwind CSS v3.4 color family

Tailwind slate 11 shades, 50 to 950

Slate is one of the 22 color families in Tailwind CSS v3.4, with eleven shades from 50 to 950. Its 500 shade, #64748B, sits at OKLCH hue 257.4°. Lightness runs from 0.984 at 50 to 0.129 at 950.

500 shade
#64748B
OKLCH hue at 500
257.4°
Body text on white
500 to 950
Body text on black
50 to 400

Tailwind CSS 4.3.3

slate: current colors

11 shades with exact official OKLCH values. Use bg-slate-500, text-slate-500 or border-slate-500 in Tailwind. Wide-gamut colors are preserved; these are not the v3 hex values.

ColorExact OKLCHCSS variable
slate-50oklch(98.4% 0.003 247.858)--color-slate-50
slate-100oklch(96.8% 0.007 247.896)--color-slate-100
slate-200oklch(92.9% 0.013 255.508)--color-slate-200
slate-300oklch(86.9% 0.022 252.894)--color-slate-300
slate-400oklch(70.4% 0.04 256.788)--color-slate-400
slate-500oklch(55.4% 0.046 257.417)--color-slate-500
slate-600oklch(44.6% 0.043 257.281)--color-slate-600
slate-700oklch(37.2% 0.044 257.287)--color-slate-700
slate-800oklch(27.9% 0.041 260.031)--color-slate-800
slate-900oklch(20.8% 0.042 265.755)--color-slate-900
slate-950oklch(12.9% 0.042 264.695)--color-slate-950

Source: Tailwind CSS 4.3.3 theme.css (MIT). Values are pinned to this release. Older v3 reference values below are kept separately for existing projects.

Scale

Every shade, 50 to 950

Each shade has a page of its own. Under each, white and black text on it; a bold figure passes 4.5:1.

  1. 50#F8FAFC
    White
    1.04
    Black
    20.07
  2. 100#F1F5F9
    White
    1.09
    Black
    19.16
  3. 200#E2E8F0
    White
    1.23
    Black
    17.03
  4. 300#CBD5E1
    White
    1.48
    Black
    14.14
  5. 400#94A3B8
    White
    2.56
    Black
    8.19
  6. 500#64748B
    White
    4.75
    Black
    4.41
  7. 600#475569
    White
    7.57
    Black
    2.77
  8. 700#334155
    White
    10.35
    Black
    2.02
  9. 800#1E293B
    White
    14.62
    Black
    1.43
  10. 900#0F172A
    White
    17.85
    Black
    1.17
  11. 950#020617
    White
    20.17
    Black
    1.04

Values

Hex, RGB and OKLCH values

The Tailwind CSS v3.4 values, with the contrast of white and black text on each shade.

ShadeHEXRGBOKLCHWhite textBlack text
slate-50#F8FAFCrgb(248, 250, 252)oklch(0.984 0.003 247.9)1.0420.07
slate-100#F1F5F9rgb(241, 245, 249)oklch(0.968 0.007 247.9)1.0919.16
slate-200#E2E8F0rgb(226, 232, 240)oklch(0.929 0.013 255.5)1.2317.03
slate-300#CBD5E1rgb(203, 213, 225)oklch(0.869 0.020 252.9)1.4814.14
slate-400#94A3B8rgb(148, 163, 184)oklch(0.711 0.035 256.8)2.568.19
slate-500#64748Brgb(100, 116, 139)oklch(0.554 0.041 257.4)4.754.41
slate-600#475569rgb(71, 85, 105)oklch(0.446 0.037 257.3)7.572.77
slate-700#334155rgb(51, 65, 85)oklch(0.372 0.039 257.3)10.352.02
slate-800#1E293Brgb(30, 41, 59)oklch(0.279 0.037 260.0)14.621.43
slate-900#0F172Argb(15, 23, 42)oklch(0.208 0.040 265.8)17.851.17
slate-950#020617rgb(2, 6, 23)oklch(0.129 0.041 264.7)20.171.04

Legibility

Which shades pass on each other

Every shade as text on every other shade. 48 of 110 pairings pass 4.5:1 for body text, and 14 more pass 3:1 for large text.

Text shade, then background shade50100200300400500600700800900950
50same shade1.041.171.412.454.547.249.8913.9817.0619.28
1001.04same shade1.121.352.344.346.919.4513.3516.2918.41
2001.171.12same shade1.202.073.866.148.3911.8614.4816.36
3001.411.351.20same shade1.723.205.106.979.8512.0213.58
4002.452.342.071.72same shade1.852.954.035.706.967.86
5004.544.343.863.201.85same shade1.592.173.073.754.23
6007.246.916.145.102.951.59same shade1.361.932.352.66
7009.899.458.396.974.032.171.36same shade1.411.721.94
80013.9813.3511.869.855.703.071.931.41same shade1.221.37
90017.0616.2914.4812.026.963.752.351.721.22same shade1.12
95019.2818.4116.3613.587.864.232.661.941.371.12same shade

Rows are the text shade, columns the background. A bold figure on a tinted cell passes 4.5:1 for body text; a plain one passes 3:1 for large text only; a faint one fails.

Color vision

The scale with color blindness

The same eleven shades as seen with each color vision deficiency. Lightness keeps a ramp in order even where its hue collapses.

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

What each type sees
  • Typical vision

    Closest neighbors: 50 and 100, ΔE2000 1.6

  • Protanopia

    Closest neighbors: 50 and 100, ΔE2000 1.4

  • Deuteranopia

    Closest neighbors: 50 and 100, ΔE2000 1.9

  • Tritanopia

    Closest neighbors: 50 and 100, ΔE2000 2.3

  • Achromatopsia

    Closest neighbors: 50 and 100, ΔE2000 1.2

Code

Design tokens

The whole family in six formats, ready to paste.

CSS custom properties

:root {
  --color-slate-50: #f8fafc;
  --color-slate-100: #f1f5f9;
  --color-slate-200: #e2e8f0;
  --color-slate-300: #cbd5e1;
  --color-slate-400: #94a3b8;
  --color-slate-500: #64748b;
  --color-slate-600: #475569;
  --color-slate-700: #334155;
  --color-slate-800: #1e293b;
  --color-slate-900: #0f172a;
  --color-slate-950: #020617;
}

Tailwind config

// tailwind.config.js — slate is built in; this pins the v3.4 values.
module.exports = {
  theme: {
    extend: {
      colors: {
        slate: {
          50: '#f8fafc',
          100: '#f1f5f9',
          200: '#e2e8f0',
          300: '#cbd5e1',
          400: '#94a3b8',
          500: '#64748b',
          600: '#475569',
          700: '#334155',
          800: '#1e293b',
          900: '#0f172a',
          950: '#020617',
        },
      },
    },
  },
};

Tailwind v4 theme

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

@theme {
  /* v4 has its own slate; these pin the v3 values. */
  --color-slate-50: oklch(0.984 0.003 247.9);
  --color-slate-100: oklch(0.968 0.007 247.9);
  --color-slate-200: oklch(0.929 0.013 255.5);
  --color-slate-300: oklch(0.869 0.020 252.9);
  --color-slate-400: oklch(0.711 0.035 256.8);
  --color-slate-500: oklch(0.554 0.041 257.4);
  --color-slate-600: oklch(0.446 0.037 257.3);
  --color-slate-700: oklch(0.372 0.039 257.3);
  --color-slate-800: oklch(0.279 0.037 260.0);
  --color-slate-900: oklch(0.208 0.040 265.8);
  --color-slate-950: oklch(0.129 0.041 264.7);
}

Design tokens (W3C DTCG)

{
  "color": {
    "slate": {
      "50": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.9725, 0.9804, 0.9882],
          "hex": "#f8fafc"
        }
      },
      "100": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.9451, 0.9608, 0.9765],
          "hex": "#f1f5f9"
        }
      },
      "200": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.8863, 0.9098, 0.9412],
          "hex": "#e2e8f0"
        }
      },
      "300": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.7961, 0.8353, 0.8824],
          "hex": "#cbd5e1"
        }
      },
      "400": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.5804, 0.6392, 0.7216],
          "hex": "#94a3b8"
        }
      },
      "500": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.3922, 0.4549, 0.5451],
          "hex": "#64748b"
        }
      },
      "600": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.2784, 0.3333, 0.4118],
          "hex": "#475569"
        }
      },
      "700": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.2, 0.2549, 0.3333],
          "hex": "#334155"
        }
      },
      "800": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.1176, 0.1608, 0.2314],
          "hex": "#1e293b"
        }
      },
      "900": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.0588, 0.0902, 0.1647],
          "hex": "#0f172a"
        }
      },
      "950": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.0078, 0.0235, 0.0902],
          "hex": "#020617"
        }
      }
    }
  }
}

SwiftUI colors

import SwiftUI

enum Palette {
    static let slate50 = Color(.sRGB, red: 0.973, green: 0.980, blue: 0.988, opacity: 1)
    static let slate100 = Color(.sRGB, red: 0.945, green: 0.961, blue: 0.976, opacity: 1)
    static let slate200 = Color(.sRGB, red: 0.886, green: 0.910, blue: 0.941, opacity: 1)
    static let slate300 = Color(.sRGB, red: 0.796, green: 0.835, blue: 0.882, opacity: 1)
    static let slate400 = Color(.sRGB, red: 0.580, green: 0.639, blue: 0.722, opacity: 1)
    static let slate500 = Color(.sRGB, red: 0.392, green: 0.455, blue: 0.545, opacity: 1)
    static let slate600 = Color(.sRGB, red: 0.278, green: 0.333, blue: 0.412, opacity: 1)
    static let slate700 = Color(.sRGB, red: 0.200, green: 0.255, blue: 0.333, opacity: 1)
    static let slate800 = Color(.sRGB, red: 0.118, green: 0.161, blue: 0.231, opacity: 1)
    static let slate900 = Color(.sRGB, red: 0.059, green: 0.090, blue: 0.165, opacity: 1)
    static let slate950 = Color(.sRGB, red: 0.008, green: 0.024, blue: 0.090, opacity: 1)
}

Jetpack Compose colors

import androidx.compose.ui.graphics.Color

object Palette {
    val Slate50 = Color(0xFFF8FAFC)
    val Slate100 = Color(0xFFF1F5F9)
    val Slate200 = Color(0xFFE2E8F0)
    val Slate300 = Color(0xFFCBD5E1)
    val Slate400 = Color(0xFF94A3B8)
    val Slate500 = Color(0xFF64748B)
    val Slate600 = Color(0xFF475569)
    val Slate700 = Color(0xFF334155)
    val Slate800 = Color(0xFF1E293B)
    val Slate900 = Color(0xFF0F172A)
    val Slate950 = Color(0xFF020617)
}

Families

Other Tailwind families

The rest of the Tailwind CSS v3.4 palette, in the order Tailwind lists it.