The Verification Venue · pointed at a thing everyone gets wrong
The Colours the Dog Keeps
Your dog is not colourblind, and it does not see the world in grey. It is a dichromat — two kinds of colour cone instead of your three — and that is a precise optical fact, not a vibe. From two model cone curves you can predict which colours collapse together, with brightness matched and the stated display primaries and equal-energy reference white.
A human retina has three cone pigments; a dog has two, with measured peaks at 429 nm (a blue cone) and 555 nm (a yellow-green cone). With a short-wave cone and a long/medium-wave cone, rather than our three cone classes, a dog confuses red with green: the whole warm half of your spectrum drives its two cones in nearly the same ratio, so it folds into one hue. Below, both cones are drawn from the published visual-pigment template keyed to those two numbers — nothing is hand-painted. Drag the wavelength and watch.
Blue cone (429 nm)
—
Yellow cone (555 nm)
—
Dog hue = S/(S+L)
—
—
The model's chromatic coordinate is one number: the fraction of a nonzero signal coming from the blue cone, S/(S+L). Two lights with the same fraction share that coordinate; their brightness can still differ. There is one wavelength, the neutral point, which the math below puts at ~484 nm, near Neitz's measured ~480 nm, whose fraction equals that of the model's equal-energy white light. At matched brightness, it is a model match to grey.
Pick a colour — see it in dog-vision
—
Try red, orange and green in turn: the dog-view barely changes, and the three land almost on top of each other on the hue bar. That is the red-green collapse, computed — not an artistic guess. Now try blue: it moves well away from red and green. Blue is the colour a dog keeps.
The check — every number recomputed in front of you
The two cone curves are the Govardovskii 2000 A1 visual-pigment template evaluated at λmax = 429 and 555 nm — the peaks Neitz, Geist & Jacobs measured in three dogs. The template is normalised to 1 at each peak (the cross-check), and the neutral point falls out near the measured ~480 nm.
| quantity | computed live | measured / expected |
|---|
For the colour you've picked, its two cone signals and the single dog-hue, computed from the same weights the verifier uses:
Run it yourself — the script rebuilds the cone curves from scratch and recomputes the table quantities and the six display-primary weights: node research/the-colours-the-dog-keeps/verify-the-colours-the-dog-keeps.mjs
What's idealised here, and what's exactly true
Exactly true. The dog retina has two cone classes, with peaks estimated near 429 and 555 nm from behavioural experiments (Neitz, Geist & Jacobs 1989). With only two cone signals, the model has one chromatic coordinate: nonzero signals with the same S:L ratio share that coordinate, but brightness can still distinguish them. Matching both cone signals also matches brightness in this model. Red-green confusions and a neutral point follow from the responses of the short-wave and long/medium-wave cones.
Idealised. (1) The cone curves are the Govardovskii 2000 template, a published shape that fits real pigments well but is keyed only by the peak wavelength; the true dog curves differ slightly in width. (2) To recolour an arbitrary on-screen pixel we model your display's R/G/B primaries as narrow Gaussians (centres 611 / 549 / 465 nm) — a stand-in for the real, slightly broader primaries; the red-green collapse does not depend on their exact width, but the precise dog-hue of a mixed colour does shift a little. (3) The neutral point is defined against an equal-energy white; a different white (daylight, a screen's white) moves it a few nm.
Small sample. The 429/555 nm estimates come from three dogs. Take them as the well-supported central values, not a per-dog guarantee.
What this is not. The dog-view image is a model of which colours a dog confuses, mapped back into colours you can see on a trichromat screen. It is not a window into canine qualia — "sees yellow and blue" is shorthand for the two-cone axis, not a claim about what the experience is like. Brightness and contrast processing differ too. Light sensitivity is different from resolving detail; this colour-only model represents neither acuity nor low-light vision.
Corrections
Corrected 2026-10-14: The page said dogs lack a long-wave cone. They retain a long/medium-wave cone near 555 nm and a short-wave cone near 429 nm (found by the assay line, 2026-10-14). Source.
Corrected 2026-10-14: The page attributed behavioural and electrophysiological measurements to Neitz, Geist & Jacobs (1989). That study used behavioural discrimination experiments to estimate the cone peaks (found by the assay line, 2026-10-14). Source.
Corrected 2026-10-14: The page called any two lights with the same S:L ratio physically indistinguishable. That ratio fixes a chromatic coordinate, not brightness; matching both cone signals gives a match in this model (found by the assay line, 2026-10-14). Source.
Corrected 2026-10-14: The page said ageing dog lenses yellow and shift sensitivity. Barber et al. (2020) say age-related accumulation of yellow pigments in the lens does not seem to occur in dogs; that claim has been removed (found by the assay line, 2026-10-14). Source.
Corrected 2026-10-14: The page said dogs out-resolve humans in dim light. At the 0.0087 cd/m² condition tested by Lind et al. (2017), dogs resolved 1.8-3.5 cycles per degree and humans 5.9-9.9; sensitivity to light is different from resolving detail (found by the assay line, 2026-10-14). Source.
Corrected 2026-10-14: The page said Siniscalchi et al. (2017) corroborated the ~480 nm neutral point. That experiment tested red-green confusion; the neutral-point measurement cited here is from Neitz et al. (1989) (found by the assay line, 2026-10-14). Source.
Corrected 2026-10-14: The page said Byosiere et al. (2018) reviewed the ~480 nm neutral point. The review discusses canine colour vision and red-green confusion, but does not review that neutral-point measurement (found by the assay line, 2026-10-14). Source.
Corrected 2026-10-14: The page said the blue preset jumps to the far end of the hue bar. It reaches about 51.4% of the bar in this model, well away from the red and green presets (found by the assay line, 2026-10-14).
Corrected 2026-10-14: The colour picker displayed black input as yellow even though both cone signals were zero. Zero input now displays black, with no chromatic coordinate or hue marker (found by the assay line, 2026-10-14).
Corrected 2026-10-14: The relation note said this page and There Is No Magenta run the same cone-and-CIE machinery. This page uses a pigment template and Gaussian display primaries; the other page uses CIE colour-matching data and XYZ conversion (found by the assay line, 2026-10-14).
Corrected 2026-10-14: The slider claimed a white-ratio match throughout the neighbourhood of the neutral point, including at 480 nm. At 480 nm its displayed fraction is 0.423, versus 0.347 for white; it now reports proximity to the model neutral point at 483.7 nm (found by the assay line, 2026-10-14).
Corrected 2026-10-14: The hue bar put grey and its neutral label at 50%, while its numerical scale places equal-energy white at about 34.729%. Both now use the computed neutral position (found by the assay line, 2026-10-14).