Skip to content
AI Color

Colorblind Friendly Color Palettes: Safe HEX Codes for Charts and UI

· Updated · 10 min read

A colorblind friendly color palette keeps categories readable when red–green or blue–yellow discrimination is reduced—roughly 1 in 12 men and 1 in 200 women have some form of colour vision deficiency (CVD). The practical answer for charts and UI is to start from proven sets such as Okabe–Ito, the IBM Design Language colorblind-safe palette, or Paul Tol’s Bright scheme, copy their HEX codes below, never encode meaning with hue alone, and still check WCAG contrast for text and controls. These tables are digital starting points for accessible palettes for charts and product UI, not a medical diagnosis tool.

What “color blind safe” actually means

Color blind safe does not mean one palette works for every eye. It means neighbouring categories stay separable under the common CVD simulations—especially deuteranopia and protanopia (red–green) and, less often, tritanopia (blue–yellow)—and that lightness or shape still carries the message if hue collapses. A rainbow of saturated primaries fails that test; a short qualitative set with distinct lightness and carefully chosen hues usually passes.

For data visualisation, prefer categorical (qualitative) palettes designed for CVD over sequential rainbows. For UI, treat status colours as a system: pair each hue with an icon, label or pattern, and keep text/background pairs on a contrast budget. The HEX lists below are the ones teams cite most often when they search for a color blind safe palette hex starting point.

Six colorblind-safe palettes with HEX codes

Each row is a named, widely cited palette. Copy the HEX list into chart libraries, design tokens or a Tailwind theme. Okabe–Ito and IBM’s five-colour set are the usual defaults for categorical charts; Paul Tol’s Bright, Vibrant and Muted schemes give alternatives when you need more series or a quieter look. The sixth row is a compact UI status set derived from the same principles.

Cite the palette by name in your design docs so future contributors do not “improve” it back into an unsafe rainbow. Soft-proof with a CVD simulator and a contrast checker before you ship.

colorblind friendly color palettes hex approximations
PaletteSwatchesApproximate HEXCopy

Okabe–Ito

Classic colour-vision-deficiency-safe qualitative set (Bang Wong / Okabe–Ito). Default for scientific charts.

  • #E69F00rgb(230, 159, 0)
  • #56B4E9rgb(86, 180, 233)
  • #009E73rgb(0, 158, 115)
  • #F0E442rgb(240, 228, 66)
  • #0072B2rgb(0, 114, 178)
  • #D55E00rgb(213, 94, 0)
  • #CC79A7rgb(204, 121, 167)
  • #000000rgb(0, 0, 0)

IBM Design Language (colorblind-safe)

IBM’s five-colour colorblind-safe palette for data viz and product charts.

  • #648FFFrgb(100, 143, 255)
  • #785EF0rgb(120, 94, 240)
  • #DC267Frgb(220, 38, 127)
  • #FE6100rgb(254, 97, 0)
  • #FFB000rgb(255, 176, 0)

Paul Tol Bright

Tol Bright qualitative scheme—strong categorical separation for up to seven series.

  • #4477AArgb(68, 119, 170)
  • #66CCEErgb(102, 204, 238)
  • #228833rgb(34, 136, 51)
  • #CCBB44rgb(204, 187, 68)
  • #EE6677rgb(238, 102, 119)
  • #AA3377rgb(170, 51, 119)
  • #BBBBBBrgb(187, 187, 187)

Paul Tol Vibrant

Tol Vibrant—higher chroma alternative when Bright feels too muted on dark UI.

  • #EE7733rgb(238, 119, 51)
  • #0077BBrgb(0, 119, 187)
  • #33BBEErgb(51, 187, 238)
  • #EE3377rgb(238, 51, 119)
  • #CC3311rgb(204, 51, 17)
  • #009988rgb(0, 153, 136)
  • #BBBBBBrgb(187, 187, 187)

Paul Tol Muted

Tol Muted—softer categorical colours for dense dashboards and print-friendly figures.

  • #CC6677rgb(204, 102, 119)
  • #332288rgb(51, 34, 136)
  • #DDCC77rgb(221, 204, 119)
  • #117733rgb(17, 119, 51)
  • #88CCEErgb(136, 204, 238)
  • #882255rgb(136, 34, 85)
  • #44AA99rgb(68, 170, 153)
  • #999933rgb(153, 153, 51)
  • #AA4499rgb(170, 68, 153)

UI status (CVD-aware)

Compact info / success / warn / danger / neutral set for product UI—pair with icons and labels.

  • #0072B2rgb(0, 114, 178)
  • #009E73rgb(0, 158, 115)
  • #E69F00rgb(230, 159, 0)
  • #D55E00rgb(213, 94, 0)
  • #5C6670rgb(92, 102, 112)

HEX values are approximate digital starting points for screen use, not official Pantone matches.

Deuteranopia, protanopia and tritanopia

Deuteranopia and deuteranomaly are the most common red–green deficiencies: greens shift toward beige or grey, and red–green traffic-light pairs collapse. Protanopia and protanomaly similarly weaken reds; dark red can look near-black, which is why a “danger” red that only works as a dark fill is a poor sole signal. Tritanopia and tritanomaly are rarer and affect blue–yellow discrimination—sky blue versus yellow-green series can merge.

Design for the common case first: avoid sole reliance on red versus green. Prefer blue/orange, blue/vermillion, or the Okabe–Ito and Tol sets above. Always add a second channel—position, pattern, icon or text—so a deuteranopic or protanopic reader still gets the same information. Simulate all three families before locking a chart legend.

Contrast, WCAG and what CVD simulation does not replace

Colour vision simulation and WCAG contrast solve different problems. CVD checks ask whether two hues remain distinguishable; WCAG asks whether text or UI chrome meets a luminance ratio (AA: 4.5:1 normal text, 3:1 large text and non-text UI). A palette can be colorblind friendly and still fail AA if you put mid yellow or light cyan behind small copy.

Check every text and interactive pair in a contrast checker. Keep body text on near-black or deep navy over pale grounds. Use categorical chart colours for marks and fills, not for 14px labels. For a deeper walkthrough of AA versus AAA, see the WCAG color contrast guide on this site.

Using these palettes in charts and product UI

In charts, map series in a fixed order from a named palette and stop when you run out of distinct colours—duplicate hues or a rainbow extension undo the accessibility work. Prefer direct labels on lines or bars over a hue-only legend when space allows. On maps and heatmaps, use sequential or diverging scales that vary lightness as well as hue; pure hue ramps fail under CVD.

In product UI, reserve the CVD-aware status set for badges, alerts and chart accents. Do not ship red/green-only validation: pair success and error with icons and explicit copy. Focus rings and borders need 3:1 against adjacent surfaces. Browse high-contrast palette collections when you need ready-made ramps that already spread lightness for AA-friendly text.

Dark mode keeps the same categorical hues but re-checks contrast against the dark canvas; light yellows and greys often need a brighter sibling. Generate a full token scale from any anchor HEX in the Tailwind color palette generator when you need 50–950 steps around a brand or chart colour.

Tailwind snippet for a colorblind-safe chart scale

Drop Okabe–Ito (minus black) into named Tailwind tokens for quick chart and badge prototypes. Prefer theme.extend so you keep the default palette. For a full 50–950 brand scale from one of these anchors, open the Tailwind color palette generator.

Tailwind theme tokens (Okabe–Ito)

Paste into theme.extend.colors (v3) or adapt into a Tailwind v4 @theme block. Values follow the published Okabe–Ito qualitative HEX set for screen use.

// Colorblind-friendly chart tokens — Okabe–Ito qualitative HEX
module.exports = {
  theme: {
    extend: {
      colors: {
        cvd: {
          orange: '#E69F00',
          sky: '#56B4E9',
          green: '#009E73',
          yellow: '#F0E442',
          blue: '#0072B2',
          vermillion: '#D55E00',
          purple: '#CC79A7',
        },
      },
    },
  },
};

Colorblind Friendly Color Palettes HEX FAQ

What is a colorblind friendly color palette?

It is a set of colours chosen so categories stay distinguishable for common colour vision deficiencies—especially deuteranopia and protanopia—usually by avoiding red–green-only encoding and pairing hue with lightness, labels or icons. Okabe–Ito, IBM’s colorblind-safe set and Paul Tol’s qualitative schemes are widely used starting points.

What HEX codes are in the Okabe–Ito color blind safe palette?

The standard Okabe–Ito qualitative HEX values are #E69F00, #56B4E9, #009E73, #F0E442, #0072B2, #D55E00, #CC79A7 and #000000. Use them in that spirit for categorical charts; do not replace them with arbitrary bright primaries.

What is the IBM Design Language colorblind-safe palette?

IBM’s five-colour colorblind-safe palette uses #648FFF, #785EF0, #DC267F, #FE6100 and #FFB000. It is a common default for product analytics and dashboard series when you want a short, named set.

Are Paul Tol Bright colours good for accessible palettes for charts?

Yes. Paul Tol’s Bright qualitative scheme (#4477AA, #66CCEE, #228833, #CCBB44, #EE6677, #AA3377, #BBBBBB) is designed for colour-blind-friendly figures. Vibrant and Muted are alternatives when you need more chroma or denser dashboards.

Does a colorblind-safe palette guarantee WCAG AA contrast?

No. CVD-safe categorical colours solve hue confusion; WCAG AA still requires sufficient luminance contrast for text and UI (typically 4.5:1 for normal text). Verify pairs in a contrast checker and keep small type on deep neutrals.

How do I use a color blind safe palette in Tailwind CSS?

Add named tokens under theme.extend.colors—for example the Okabe–Ito map in this article—or generate a full shade scale from one anchor in the Tailwind color palette generator. Prefer extend so default Tailwind colours remain available.