Curated palette · Charts

Chart palettes Okabe–Ito, measured

Eight colors that Masataka Okabe and Kei Ito chose so that people with and without color blindness can tell them apart. Each one is measured here with this site's color engine: contrast on light and dark charts, separation under simulated color vision deficiency, and the order to use them in.

The eight colors, in Okabe and Ito's order. Select one to copy its hex.

Colors
8
Designed by
Okabe and Ito, 2002
Closest pair, any dichromacy
ΔE 11.13
Pass 3:1 on white
5/8
Pass 3:1 on dark
8/8
Live chart Series order

Live chart

Try it in a chart

Choose how many series, the background and a type of color vision. Series take the colors in the recommended order below, and each keeps its name and value beside it, so color is never the only cue.

The controls need JavaScript. Without it the chart shows the first five series on a light background, as typical vision sees them.

Closest pair in view
Vermilion Reddish purple
Distance
ΔE 37.02 Distinct
Pass 3:1 here
5/5
  • Web search
  • Direct
  • Email
  • Social
  • Referral
Sign-ups over eight weeks, by source
  • Web search463
  • Direct570
  • Email470
  • Social344
  • Referral243
Weekly sign-ups, by source

Illustrative data

The numbers in both charts
SourceColorWeek 1Week 2Week 3Week 4Week 5Week 6Week 7Week 8Total
Web search
Blue
4046525560667074463
Direct
Vermilion
6058647072788286570
Email
Black
7066626056545250470
Social
Reddish purple
2028344248525862344
Referral
Bluish green
3436303228302726243

The simulation is the model of Machado, Oliveira and Fernandes (2009) at full severity, the one this site's simulator uses; achromatopsia is shown as luminance only. A simulation approximates how colors collapse; it does not reproduce anyone's vision.

Measured

Each color, measured

Contrast is measured against the two chart backgrounds this page uses: white, and #171613, the raised surface of this site's dark theme. WCAG 1.4.11 asks for 3:1 between the parts of a graphic needed to understand it and the colors next to them.

Each color's contrast on the two chart backgrounds
ColorHexOKLCH LOKLCHOn white #FFFFFFOn dark #171613
BlackLight charts only; white takes its place on dark
#0000000.000oklch(0.000 0.000 0)21.00:1 Passes 3:11.16:1 Below 3:1
Orange
#E69F000.753oklch(0.753 0.158 76.8)2.25:1 Below 3:18.03:1 Passes 3:1
Sky blue
#56B4E90.735oklch(0.735 0.117 236.2)2.30:1 Below 3:17.84:1 Passes 3:1
Bluish green
#009E730.620oklch(0.620 0.130 165.5)3.42:1 Passes 3:15.28:1 Passes 3:1
Yellow
#F0E4420.902oklch(0.902 0.172 105.0)1.32:1 Below 3:113.68:1 Passes 3:1
Blue
#0072B20.532oklch(0.532 0.131 244.0)5.18:1 Passes 3:13.48:1 Passes 3:1
Vermilion
#D55E000.621oklch(0.621 0.170 47.5)3.86:1 Passes 3:14.67:1 Passes 3:1
Reddish purple
#CC79A70.679oklch(0.679 0.118 346.3)3.06:1 Passes 3:15.91:1 Passes 3:1
WhiteDark charts only, in place of black
#FFFFFF1.000oklch(1.000 0.000 0)1.00:1 Below 3:118.09:1 Passes 3:1

When a color is below 3:1

  • Label it. Print the series name and value on or beside the mark, as the chart above does. WCAG's Understanding document for 1.4.11 says a graphic does not itself need 3:1 when labels and values on it carry the same information.
  • Outline it. A 1 px edge in your text color gives the mark a boundary that clears 3:1 against the background.
  • Order it. The light order below puts the 5 colors that pass on white first, so a chart with up to 5 series clears 3:1 without either.
  • Mind yellow. It measures 1.32:1 on white: keep it for dark charts, or outline it.

Color vision

Can they still be told apart?

The CIEDE2000 difference between the two closest colors, after simulating each type of color vision deficiency at full severity. On this site's scale 10 or more reads as distinct, 5 to 10 as noticeable, 2 to 5 as close, and under 1 as imperceptible.

The closest two colors under each type of color vision
VisionClosest pairΔE2000Reads as
Typical vision
Orange Yellow
21.72Distinct
Protanopia
Blue Reddish purple
12.26Distinct
Deuteranopia
Orange Yellow
11.52Distinct
Tritanopia
Orange Reddish purple
11.13Distinct
Achromatopsia
Orange Sky blue
0.57Imperceptible

With white in place of black, for dark charts, every closest pair and distance above is the same. In grayscale, orange and sky blue measure ΔE 0.57 apart, the same gray, so a chart that may be printed in black and white needs labels or patterns too.

Every pair, at its worst

Each cell is the smallest of four distances: typical vision, protanopia, deuteranopia and tritanopia. The smallest of all is in bold.

BlackOrangeSky blueBluish greenYellowBlueVermilionReddish purpleWhite
Black
Same color
60.1558.6142.8783.7038.3242.0646.06
Never used together
Orange
60.15
Same color
50.6217.9111.5251.3912.5211.1331.24
Sky blue
58.6150.62
Same color
12.2139.7219.9252.2014.0725.49
Bluish green
42.8717.9112.21
Same color
28.0512.0718.2016.1130.37
Yellow
83.7011.5239.7228.05
Same color
47.1723.6825.0216.79
Blue
38.3251.3919.9212.0747.17
Same color
49.6212.2642.48
Vermilion
42.0612.5252.2018.2023.6849.62
Same color
14.0139.19
Reddish purple
46.0611.1314.0716.1125.0212.2614.01
Same color
26.09
White
Never used together
31.2425.4930.3716.7942.4839.1926.09
Same color

Series order

Which colors for 2 to 8 series

Use the first N colors of the list for your chart's background. Of the 40,320 possible orders, we kept those that put the colors passing 3:1 first (720 on white, all 40,320 on the dark ground) and chose the one whose every prefix comes closest to the best set of that size.

On a light chart #FFFFFF

  1. 1Blue
  2. 2Vermilion
  3. 3Black
  4. 4Reddish purple
  5. 5Bluish green
  6. 6Sky blue
  7. 7Yellow
  8. 8Orange

Every prefix keeps at least 87.5% of the best separation any colors of that number could reach. At 4 series it reaches ΔE 12.26 against 14.01.

SeriesColor addedClosest pair so farΔE2000Best possibleIn grayscale
2
Vermilion
Blue Vermilion
Typical vision
49.6249.628.33
3
Black
Blue Black
Deuteranopia
38.3238.328.33
4
Reddish purple
Blue Reddish purple
Protanopia
12.2614.015.98
5
Bluish green
Blue Bluish green
Tritanopia
12.0712.072.73
6
Sky blue Below 3:1
Blue Bluish green
Tritanopia
12.0712.072.73
7
Yellow Below 3:1
Blue Bluish green
Tritanopia
12.0712.072.73
8
Orange Below 3:1
Reddish purple Orange
Tritanopia
11.1311.130.57

On a dark chart #171613

  1. 1Blue
  2. 2Vermilion
  3. 3White
  4. 4Sky blue
  5. 5Yellow
  6. 6Reddish purple
  7. 7Bluish green
  8. 8Orange

Every prefix keeps at least 95.0% of the best separation any colors of that number could reach. At 2 series it reaches ΔE 49.62 against 52.20.

SeriesColor addedClosest pair so farΔE2000Best possibleIn grayscale
2
Vermilion
Blue Vermilion
Typical vision
49.6252.208.33
3
White
Vermilion White
Deuteranopia
39.1939.198.33
4
Sky blue
Blue Sky blue
Tritanopia
19.9219.928.33
5
Yellow
White Yellow
Tritanopia
16.7916.796.50
6
Reddish purple
Blue Reddish purple
Protanopia
12.2612.265.98
7
Bluish green
Blue Bluish green
Tritanopia
12.0712.072.73
8
Orange
Reddish purple Orange
Tritanopia
11.1311.130.57

Black is third on light charts. If your axes and text are black too, label that series directly, as the chart above does. "Closest pair so far" is the closest two among the first N colors under any of the four visions; "Best possible" is the most that any N of these colors can reach under the same rule.

Use it well

Color is never the only cue

WCAG 1.4.1 says color must not be the only visual means of conveying information. A safe palette lowers the risk; labels and shapes remove it.

  1. Label series directly: the name at the end of a line, the value at the tip of a bar.
  2. Give lines a second cue, such as a marker shape or a dash pattern.
  3. Keep a legend, and offer the numbers as a table.
  4. Keep words in your text color; let a colored mark beside them carry the identity.
  5. Check the chart in grayscale before it goes to print.

Code

Export the palette

Both orders as tokens: chart-light-1 to 8 and chart-dark-1 to 8.

Copy a format and rename the tokens to fit your system.

CSS custom properties

/* Generated by Auric Artisan chart palettes (Okabe–Ito) on 2026-10-04 */
:root {
  --chart-light-1: #0072B2; /* Blue (Okabe–Ito) */
  --chart-light-2: #D55E00; /* Vermilion (Okabe–Ito) */
  --chart-light-3: #000000; /* Black (Okabe–Ito) */
  --chart-light-4: #CC79A7; /* Reddish purple (Okabe–Ito) */
  --chart-light-5: #009E73; /* Bluish green (Okabe–Ito) */
  --chart-light-6: #56B4E9; /* Sky blue (Okabe–Ito) */
  --chart-light-7: #F0E442; /* Yellow (Okabe–Ito) */
  --chart-light-8: #E69F00; /* Orange (Okabe–Ito) */
  --chart-dark-1: #0072B2; /* Blue (Okabe–Ito) */
  --chart-dark-2: #D55E00; /* Vermilion (Okabe–Ito) */
  --chart-dark-3: #FFFFFF; /* White, in place of Okabe–Ito black on dark charts */
  --chart-dark-4: #56B4E9; /* Sky blue (Okabe–Ito) */
  --chart-dark-5: #F0E442; /* Yellow (Okabe–Ito) */
  --chart-dark-6: #CC79A7; /* Reddish purple (Okabe–Ito) */
  --chart-dark-7: #009E73; /* Bluish green (Okabe–Ito) */
  --chart-dark-8: #E69F00; /* Orange (Okabe–Ito) */
}

JSON arrays

{
  "light": [
    "#0072B2",
    "#D55E00",
    "#000000",
    "#CC79A7",
    "#009E73",
    "#56B4E9",
    "#F0E442",
    "#E69F00"
  ],
  "dark": [
    "#0072B2",
    "#D55E00",
    "#FFFFFF",
    "#56B4E9",
    "#F0E442",
    "#CC79A7",
    "#009E73",
    "#E69F00"
  ]
}

Tailwind config

// Generated by Auric Artisan chart palettes (Okabe–Ito) on 2026-10-04
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    extend: {
      colors: {
        "chart": {
          "light": {
            "1": "#0072B2",
            "2": "#D55E00",
            "3": "#000000",
            "4": "#CC79A7",
            "5": "#009E73",
            "6": "#56B4E9",
            "7": "#F0E442",
            "8": "#E69F00"
          },
          "dark": {
            "1": "#0072B2",
            "2": "#D55E00",
            "3": "#FFFFFF",
            "4": "#56B4E9",
            "5": "#F0E442",
            "6": "#CC79A7",
            "7": "#009E73",
            "8": "#E69F00"
          }
        }
      }
    },
  },
};

Design tokens (W3C DTCG)

{
  "$schema": "https://schemas.tokens.studio/latest/tokens-schema.json",
  "$description": "Generated by Auric Artisan chart palettes (Okabe–Ito) on 2026-10-04",
  "chart": {
    "light": {
      "1": {
        "$value": "#0072B2",
        "$type": "color",
        "$description": "Blue (Okabe–Ito)"
      },
      "2": {
        "$value": "#D55E00",
        "$type": "color",
        "$description": "Vermilion (Okabe–Ito)"
      },
      "3": {
        "$value": "#000000",
        "$type": "color",
        "$description": "Black (Okabe–Ito)"
      },
      "4": {
        "$value": "#CC79A7",
        "$type": "color",
        "$description": "Reddish purple (Okabe–Ito)"
      },
      "5": {
        "$value": "#009E73",
        "$type": "color",
        "$description": "Bluish green (Okabe–Ito)"
      },
      "6": {
        "$value": "#56B4E9",
        "$type": "color",
        "$description": "Sky blue (Okabe–Ito)"
      },
      "7": {
        "$value": "#F0E442",
        "$type": "color",
        "$description": "Yellow (Okabe–Ito)"
      },
      "8": {
        "$value": "#E69F00",
        "$type": "color",
        "$description": "Orange (Okabe–Ito)"
      }
    },
    "dark": {
      "1": {
        "$value": "#0072B2",
        "$type": "color",
        "$description": "Blue (Okabe–Ito)"
      },
      "2": {
        "$value": "#D55E00",
        "$type": "color",
        "$description": "Vermilion (Okabe–Ito)"
      },
      "3": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "White, in place of Okabe–Ito black on dark charts"
      },
      "4": {
        "$value": "#56B4E9",
        "$type": "color",
        "$description": "Sky blue (Okabe–Ito)"
      },
      "5": {
        "$value": "#F0E442",
        "$type": "color",
        "$description": "Yellow (Okabe–Ito)"
      },
      "6": {
        "$value": "#CC79A7",
        "$type": "color",
        "$description": "Reddish purple (Okabe–Ito)"
      },
      "7": {
        "$value": "#009E73",
        "$type": "color",
        "$description": "Bluish green (Okabe–Ito)"
      },
      "8": {
        "$value": "#E69F00",
        "$type": "color",
        "$description": "Orange (Okabe–Ito)"
      }
    }
  }
}

Plain text to paste; nothing is downloaded. The colors are Okabe and Ito's; the orders and measurements are this page's. Free to use in any project.

Sources

Sources and method

Where the colors and the measurements come from.