Skip to content
PantoneTools
Accessibility

Color Blindness Simulator

Preview any color or palette through eight color-vision deficiency models — protanopia, deuteranopia, tritanopia, and their anomalous variants — using the Brettel/Viénot simulation matrices.

  • Eight CVD types covered, including anomalous trichromacies
  • Brettel & Viénot LMS-space simulation, not a hue rotation
  • Side-by-side comparison against the original color
  • Works on swatches, palettes, and full design tokens

Direct answer

Roughly 8% of men and 0.5% of women have a form of color vision deficiency. This simulator runs your color through the Brettel/Viénot LMS-cone simulation to show how it appears under protanopia (red-blind), deuteranopia (green-blind), tritanopia (blue-blind), and their milder anomalous variants — so you catch color-only signals before users do.

Color Blindness Simulator

Original

#10B981

As deuteranopia

#4F4392

Simulations use Brettel/Viénot/Mollon transformation matrices — standard approximations. Real color vision varies between individuals; use the simulation as a guide, not a definitive accessibility check.

When this saves you time

Real workflows where color blindness simulator replaces tedious manual work or an in-app subscription tool.

Charts

Audit categorical chart colors

Red and green on the same line chart look identical under deuteranopia. Run the palette through the simulator to confirm every series stays distinct.
States

Verify success / error UI states

A green checkmark + red X is the canonical UI pattern that fails for ~5% of users with red-green CVD. Preview both states under deuteranopia before relying on color alone.
Branding

Stress-test a brand palette

Brand reds and greens can collapse to nearly identical mustard tones for protanopes. Simulate before locking the palette — pair color with shape or label so the brand still reads.
Heatmaps

Choose CVD-safe sequential scales

Viridis, Cividis, and Magma are perceptually uniform and CVD-safe by design. Confirm your custom scale matches by simulating each stop.
Maps

Distinguish regions on a choropleth

Six-bucket choropleths often pick adjacent hues that merge under tritanopia. Run the legend through the simulator to ensure each bin is recognizably different.
Forms

Confirm form validation isn't color-only

Red error borders disappear into the surrounding gray for some users. Simulate, then add an icon or text label to every error state.

How it works

The methodology — every transformation documented so the output is reproducible.

01

Convert sRGB to linear RGB

The input HEX is gamma-decoded so the simulation operates in physically linear light, not gamma-compressed channel values.

02

Project into LMS cone space

Linear RGB is multiplied by the Hunt-Pointer-Estevez matrix to produce the response of the eye's L, M, and S cones — the actual receptor system color vision is built on.

03

Apply the deficiency matrix

For dichromacies we use the Brettel/Viénot 1997 plane projection — the L, M, or S response is replaced with a value computed from the other two cones. Anomalous trichromacies blend the dichromat simulation with the original by a severity factor.

04

Return to sRGB for display

The simulated LMS is converted back to linear RGB, gamma-encoded to sRGB, and rendered as a HEX you can compare directly to the original.

Worked examples

InputResultNotes
#FF0000 (pure red) · Deuteranopia≈ #8E7C00 (muddy yellow)Pure red collapses toward yellow — the classic red/green confusion.
#00FF00 (pure green) · Deuteranopia≈ #E6D200 (muddy yellow)Green and red converge in the same region under deuteranopia.
#2563EB (blue-600) · Tritanopia≈ #1E89AB (teal)Blue shifts toward cyan/teal because the S-cone response is removed.
#10B981 (emerald-500) · Protanopia≈ #C7B800 (olive)Greens with a red component lose vibrance for protanopes.
#7C3AED (violet-600) · Protanopia≈ #3C58D0 (cool blue)Violet loses its red component and reads as plain blue.

Common mistakes to avoid

Treating CVD as one condition

Deuteranomaly (the most common variant) is mild; protanopia is severe. Designing only for the worst case can overcompensate; designing only for the mildest misses real users. Simulate across the range.

Assuming a hue rotation is a simulation

Many old plugins just rotate hue — that's not how CVD works. Real simulation projects into LMS cone space and removes a receptor channel. Make sure your tool uses Brettel/Viénot or Machado matrices.

Relying on color alone for state

If success/error/warning are distinguished only by color, ~5% of users miss the cue regardless of simulation. Add icons, labels, or position changes — color is a redundant signal, not the only one.

Skipping tritanopia because it's rare

Tritanopia affects under 0.01% of the population, but acquired blue-yellow CVD is common with aging and some medications. It's cheap to check; skip is rarely worth it.

Frequently Asked Questions

The biology behind the simulation

Human color vision starts with three cone photoreceptors in the retina, peaking near 564 nm (L, red), 533 nm (M, green), and 437 nm (S, blue). Color-vision deficiency means one cone is absent (dichromacy) or its peak is shifted (anomalous trichromacy). The most common cause is an X-linked recessive trait affecting the L or M opsin genes — which is why CVD is far more prevalent in men (one X chromosome) than women (two).

Because the math is well-understood, simulation is not guesswork. The Brettel/Viénot 1997 algorithm projects a color onto the plane spanned by the two remaining cone responses, returning the color a dichromat would perceive as indistinguishable from the original. The Machado 2009 extension handles anomalous trichromacies by interpolation. Both are peer-reviewed and used in academic vision-science research.

Design strategies that survive CVD

The fastest fix is redundant encoding: pair color with shape, label, or position. A success state becomes a checkmark plus green; a chart series gets a dashed line plus a distinct hue. ColorBrewer and Viridis offer pre-computed CVD-safe categorical and sequential scales — use them as a starting point and verify with the simulator.

For interactive UIs, lean on contrast and lightness rather than hue differences. Two colors at different L values (50 vs 80 in OKLCH) remain distinguishable under any CVD type because lightness is preserved across all three cone deficiencies.

When to test, and what to test against

Test early — before the brand palette is signed off — and re-test at component level for anything that uses color as a signal: charts, status indicators, form errors, badges, availability dots, heatmaps, and choropleth maps. Plain text on a surface usually survives CVD because the underlying mechanism (luminance contrast) is unaffected; what fails is anything that distinguishes meaning through hue alone.

Related tools

Color Blindness Simulator — Protanopia,... | PantoneTools