Skip to content

Colour Blindness Simulator

Re-renders an image as protanopia, deuteranopia, tritanopia or greyscale vision would see it.

A chart that codes its series by hue alone is unreadable to roughly one man in twelve, and there is no way to notice that by looking at it with typical colour vision. This re-renders the whole image as a dichromat’s eye would receive it, and puts a number on how much separation was lost.

🔒 Runs entirely in your browseraccessibilitycolora11ysimulate

Drop a chart, map or screenshot

The simulation runs on the pixels in this tab.

How to use it

  1. Drop the image

    A chart, a map, a heat map or a dashboard screenshot — the cases where the information lives in the hue.

  2. Pick the vision type

    Deuteranopia is by far the commonest, at about 1% of men; start there. Tritanopia is rare enough that it is a completeness check rather than a design constraint.

  3. Read the separation figure

    It is the mean distance each pixel moved, against the diagonal of the RGB cube. Near zero means the image barely depends on the colours this removes.

  4. Fix it with something other than hue

    Different lightness, a dashed versus solid line, a marker shape or a direct label. Any one of them carries the distinction through every simulation here.

Common questions

Is this what colour blindness actually looks like?

It is what dichromacy — a completely missing cone class — projects to, which is the severe end. Most people with a deficiency are anomalous trichromats: the cone is there with a shifted response, and their experience sits between this and yours.

What does the severity slider do?

It blends linearly towards the dichromat result. That is not the Machado et al. (2009) model, which fits a separate matrix per severity step — at severity 1 the two agree by construction, and in between this is an approximation, labelled as one on the page.

A low figure means my chart is fine?

It means little colour moved on average, which a mostly-white page achieves trivially. Look at the simulated image too: two series that were red and green can collide while the average barely shifts.

Feed it from

Next

These accept what this tool produces, so the result can go straight in.