Tailwind CSS v3.4 color family

Tailwind blue 11 shades, 50 to 950

Blue is one of the 22 color families in Tailwind CSS v3.4, with eleven shades from 50 to 950. Its 500 shade, #3B82F6, sits at OKLCH hue 259.8°. Lightness runs from 0.970 at 50 to 0.282 at 950.

500 shade
#3B82F6
OKLCH hue at 500
259.8°
Body text on white
600 to 950
Body text on black
50 to 500

Tailwind CSS 4.3.3

blue: current colors

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

ColorExact OKLCHCSS variable
blue-50oklch(97% 0.014 254.604)--color-blue-50
blue-100oklch(93.2% 0.032 255.585)--color-blue-100
blue-200oklch(88.2% 0.059 254.128)--color-blue-200
blue-300oklch(80.9% 0.105 251.813)--color-blue-300
blue-400oklch(70.7% 0.165 254.624)--color-blue-400
blue-500oklch(62.3% 0.214 259.815)--color-blue-500
blue-600oklch(54.6% 0.245 262.881)--color-blue-600
blue-700oklch(48.8% 0.243 264.376)--color-blue-700
blue-800oklch(42.4% 0.199 265.638)--color-blue-800
blue-900oklch(37.9% 0.146 265.522)--color-blue-900
blue-950oklch(28.2% 0.091 267.935)--color-blue-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#EFF6FF
    White
    1.08
    Black
    19.29
  2. 100#DBEAFE
    White
    1.22
    Black
    17.21
  3. 200#BFDBFE
    White
    1.42
    Black
    14.77
  4. 300#93C5FD
    White
    1.80
    Black
    11.64
  5. 400#60A5FA
    White
    2.54
    Black
    8.25
  6. 500#3B82F6
    White
    3.67
    Black
    5.70
  7. 600#2563EB
    White
    5.16
    Black
    4.06
  8. 700#1D4ED8
    White
    6.70
    Black
    3.13
  9. 800#1E40AF
    White
    8.72
    Black
    2.40
  10. 900#1E3A8A
    White
    10.35
    Black
    2.02
  11. 950#172554
    White
    14.69
    Black
    1.42

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
blue-50#EFF6FFrgb(239, 246, 255)oklch(0.970 0.014 254.6)1.0819.29
blue-100#DBEAFErgb(219, 234, 254)oklch(0.932 0.032 255.6)1.2217.21
blue-200#BFDBFErgb(191, 219, 254)oklch(0.882 0.057 254.1)1.4214.77
blue-300#93C5FDrgb(147, 197, 253)oklch(0.809 0.096 251.8)1.8011.64
blue-400#60A5FArgb(96, 165, 250)oklch(0.714 0.143 254.6)2.548.25
blue-500#3B82F6rgb(59, 130, 246)oklch(0.623 0.188 259.8)3.675.70
blue-600#2563EBrgb(37, 99, 235)oklch(0.546 0.215 262.9)5.164.06
blue-700#1D4ED8rgb(29, 78, 216)oklch(0.488 0.217 264.4)6.703.13
blue-800#1E40AFrgb(30, 64, 175)oklch(0.424 0.181 265.6)8.722.40
blue-900#1E3A8Argb(30, 58, 138)oklch(0.379 0.138 265.5)10.352.02
blue-950#172554rgb(23, 37, 84)oklch(0.282 0.087 267.9)14.691.42

Legibility

Which shades pass on each other

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

Text shade, then background shade50100200300400500600700800900950
50same shade1.121.301.652.333.374.746.158.019.5113.50
1001.12same shade1.161.472.083.014.235.497.148.4812.04
2001.301.16same shade1.261.782.583.634.716.137.2810.34
3001.651.471.26same shade1.402.032.863.714.835.748.14
4002.332.081.781.40same shade1.442.032.633.434.075.77
5003.373.012.582.031.44same shade1.401.822.372.813.99
6004.744.233.632.862.031.40same shade1.291.682.002.84
7006.155.494.713.712.631.821.29same shade1.301.542.19
8008.017.146.134.833.432.371.681.30same shade1.181.68
9009.518.487.285.744.072.812.001.541.18same shade1.41
95013.5012.0410.348.145.773.992.842.191.681.41same 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 5.3

  • Protanopia

    Closest neighbors: 50 and 100, ΔE2000 5.4

  • Deuteranopia

    Closest neighbors: 800 and 900, ΔE2000 5.5

  • Tritanopia

    Closest neighbors: 800 and 900, ΔE2000 5.3

  • Achromatopsia

    Closest neighbors: 50 and 100, ΔE2000 2.7

Code

Design tokens

The whole family in six formats, ready to paste.

CSS custom properties

:root {
  --color-blue-50: #eff6ff;
  --color-blue-100: #dbeafe;
  --color-blue-200: #bfdbfe;
  --color-blue-300: #93c5fd;
  --color-blue-400: #60a5fa;
  --color-blue-500: #3b82f6;
  --color-blue-600: #2563eb;
  --color-blue-700: #1d4ed8;
  --color-blue-800: #1e40af;
  --color-blue-900: #1e3a8a;
  --color-blue-950: #172554;
}

Tailwind config

// tailwind.config.js — blue is built in; this pins the v3.4 values.
module.exports = {
  theme: {
    extend: {
      colors: {
        blue: {
          50: '#eff6ff',
          100: '#dbeafe',
          200: '#bfdbfe',
          300: '#93c5fd',
          400: '#60a5fa',
          500: '#3b82f6',
          600: '#2563eb',
          700: '#1d4ed8',
          800: '#1e40af',
          900: '#1e3a8a',
          950: '#172554',
        },
      },
    },
  },
};

Tailwind v4 theme

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

@theme {
  /* v4 has its own blue; these pin the v3 values. */
  --color-blue-50: oklch(0.970 0.014 254.6);
  --color-blue-100: oklch(0.932 0.032 255.6);
  --color-blue-200: oklch(0.882 0.057 254.1);
  --color-blue-300: oklch(0.809 0.096 251.8);
  --color-blue-400: oklch(0.714 0.143 254.6);
  --color-blue-500: oklch(0.623 0.188 259.8);
  --color-blue-600: oklch(0.546 0.215 262.9);
  --color-blue-700: oklch(0.488 0.217 264.4);
  --color-blue-800: oklch(0.424 0.181 265.6);
  --color-blue-900: oklch(0.379 0.138 265.5);
  --color-blue-950: oklch(0.282 0.087 267.9);
}

Design tokens (W3C DTCG)

{
  "color": {
    "blue": {
      "50": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.9373, 0.9647, 1],
          "hex": "#eff6ff"
        }
      },
      "100": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.8588, 0.9176, 0.9961],
          "hex": "#dbeafe"
        }
      },
      "200": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.749, 0.8588, 0.9961],
          "hex": "#bfdbfe"
        }
      },
      "300": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.5765, 0.7725, 0.9922],
          "hex": "#93c5fd"
        }
      },
      "400": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.3765, 0.6471, 0.9804],
          "hex": "#60a5fa"
        }
      },
      "500": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.2314, 0.5098, 0.9647],
          "hex": "#3b82f6"
        }
      },
      "600": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.1451, 0.3882, 0.9216],
          "hex": "#2563eb"
        }
      },
      "700": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.1137, 0.3059, 0.8471],
          "hex": "#1d4ed8"
        }
      },
      "800": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.1176, 0.251, 0.6863],
          "hex": "#1e40af"
        }
      },
      "900": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.1176, 0.2275, 0.5412],
          "hex": "#1e3a8a"
        }
      },
      "950": {
        "$type": "color",
        "$value": {
          "colorSpace": "srgb",
          "components": [0.0902, 0.1451, 0.3294],
          "hex": "#172554"
        }
      }
    }
  }
}

SwiftUI colors

import SwiftUI

enum Palette {
    static let blue50 = Color(.sRGB, red: 0.937, green: 0.965, blue: 1.000, opacity: 1)
    static let blue100 = Color(.sRGB, red: 0.859, green: 0.918, blue: 0.996, opacity: 1)
    static let blue200 = Color(.sRGB, red: 0.749, green: 0.859, blue: 0.996, opacity: 1)
    static let blue300 = Color(.sRGB, red: 0.576, green: 0.773, blue: 0.992, opacity: 1)
    static let blue400 = Color(.sRGB, red: 0.376, green: 0.647, blue: 0.980, opacity: 1)
    static let blue500 = Color(.sRGB, red: 0.231, green: 0.510, blue: 0.965, opacity: 1)
    static let blue600 = Color(.sRGB, red: 0.145, green: 0.388, blue: 0.922, opacity: 1)
    static let blue700 = Color(.sRGB, red: 0.114, green: 0.306, blue: 0.847, opacity: 1)
    static let blue800 = Color(.sRGB, red: 0.118, green: 0.251, blue: 0.686, opacity: 1)
    static let blue900 = Color(.sRGB, red: 0.118, green: 0.227, blue: 0.541, opacity: 1)
    static let blue950 = Color(.sRGB, red: 0.090, green: 0.145, blue: 0.329, opacity: 1)
}

Jetpack Compose colors

import androidx.compose.ui.graphics.Color

object Palette {
    val Blue50 = Color(0xFFEFF6FF)
    val Blue100 = Color(0xFFDBEAFE)
    val Blue200 = Color(0xFFBFDBFE)
    val Blue300 = Color(0xFF93C5FD)
    val Blue400 = Color(0xFF60A5FA)
    val Blue500 = Color(0xFF3B82F6)
    val Blue600 = Color(0xFF2563EB)
    val Blue700 = Color(0xFF1D4ED8)
    val Blue800 = Color(0xFF1E40AF)
    val Blue900 = Color(0xFF1E3A8A)
    val Blue950 = Color(0xFF172554)
}

Families

Other Tailwind families

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