That’s not Red
02 Same photo. Two sets of eyes.
Machado 2009Machado 2009 · linearRGB

The simulatorInteractive simulation

Same photo. Two sets of eyes.Side-by-side simulation

Normal vision on the left, the filtered version on the right. The wall behind everything shifts too. That's not decoration, it's the same maths running on the background.The left panel is unmodified. The right applies the Machado transform for the selected type and severity. The page background is driven by the identical transform, so the entire viewport reflects the selected simulation rather than only the image pairs.

Whose eyesDeficiency type

MildLow severity ModerateModerate severity StrongHigh severity CompleteDichromacy 80%

Move it to see how much the same picture varies across the range. The far end is the rare, total version: real, but not what most of us live with.Severity 1.0 corresponds to dichromacy (the complete absence of a functioning cone class), which is considerably rarer than anomalous trichromacy. Intermediate values are interpolated between the published matrices.

03 One picture, up close
04 A few more pairs. Some are just paint, some are the real thing.
02Normal vision
A dusty rose swatch beside a vivid red one, obviously two different colors.
What they see
The same two swatches, now close enough that you would have to be told they were different.

Pink and red nearly meet, then stop: pink carries blue, and blue is not what goes missing.Rose pink against saturated red. Both red-green forms compress the separation substantially without eliminating it, because the short-wavelength component of the pink is untouched by an L or M cone shift.

03Normal vision
A very dark navy swatch beside a very dark purple one, different in hue but similar in brightness.
What they see
The same two swatches, now essentially one color shown twice.

Purple is blue with red in it. Take the red away and it is navy.Deep navy against violet. Violet excitation is split between short and long wavelengths, so removing the long-wavelength contribution collapses it onto the navy, leaving almost nothing between them under either red-green form.

04Normal vision
A muted olive green swatch next to a mid brown one, clearly different.
What they see
The same two swatches, now the same muddy color twice over.

Not two colors that happen to look alike. One color with two names.Olive against mid brown. The M-cone shift that defines deuteranomaly removes very nearly all of the separation between them.

05Normal vision
A clear blue-green teal swatch beside a neutral grey swatch of matching brightness.
What they see
The two swatches now read as the same grey, twice.

This is the one that makes people ask, out loud, whether that is grey or green.Protanomaly and deuteranomaly both nearly erase this difference, since teal's hue is exactly the information a shifted L or M cone stops carrying.

05 Pictures that stop working
06Normal vision
A close-up of a red, black and white tartan weave, its checks crossing diagonally across the frame.
What they see
The same weave, the red rows now sunk almost to the same dark shade as the black ones.

Red does not slide toward green here, it slides toward black. Two bands of the check become one.Red/black/white tartan, macro detail. Protanomaly's shifted L-cone response lowers the perceived luminance of long wavelengths, darkening red toward black rather than toward green, so the weave's two dominant bands converge under the transform.

PhotoPhotographer: Andres Rivas

07Normal vision
A boy seen from behind in a red jersey numbered six, standing alone on a green artificial turf field with a goal in the distance.
What they see
The same photo, the red shirt now sitting close enough to the green field that it barely stands out.

Two teams, one color. This is why the offside call gets argued about.A red kit against green artificial turf, the two dominant hue bands whose separation both deuteranomaly and protanomaly compress most.

PhotoPhotographer: Omar Ramadan

08Normal vision
A close-up of a red kilim rug woven with orange diamonds, dark purple crosses, and a narrow striped band of blue, green, and cream.
What they see
The same weave, several of those colors now reading as close variants of one another instead of a rug's worth of distinct threads.

The pattern is doing nothing at all if you cannot separate it from the ground.A multicolor kilim: red ground, orange and indigo lattice motifs, and a central striped band mixing green and violet, several of the hue families this page already shows collapsing on their own.

PhotoPhotographer: Engin Akyurt

09Normal vision
A sage-green wall with a ragged patch of plaster missing, revealing red brick underneath, beside a stencilled house number and the dark hull of an upturned boat.
What they see
The same wall, the exposed brick now close enough in shade to the paint that the damage is easy to miss.

Somebody chose these two off a paint chip. Only one of us can tell.Sage-green masonry paint with an exposed brick-red patch of render damage. Sage and terracotta sit close to the protan and deutan confusion line, converging toward a shared mid-tone under either transform.

PhotoPhotographer: Eric Lane Barnes

What this is showing youScope of the simulation

This shows you which colours stop being tellable apart. It is not a photograph of what is in somebody else's head, and nothing can be. Ask a colorblind person to look at the filtered version and they will usually say the red still looks red, because their eyes do the same thing to both halves, and red is the word they have always used for it.The transform demonstrates loss of chromatic discrimination, not subjective appearance. It identifies which stimulus pairs become effectively indistinguishable for the modelled observer; it makes no claim about the observer's experience, which is not externally accessible. An anomalous trichromat viewing this page applies the same transform again to both panels and will typically report little difference between them.

The exchange that made this worth sayingDiscussion of scope and the naming effect

Try one of your ownUpload an image

Drop in a photo and the same filter runs on it. It never leaves your browser. There's nowhere for it to go, because there's no server here to send it to.Images are processed entirely client-side via CSS filters on an object URL. No upload occurs; the site is statically hosted and has no endpoint capable of receiving one.