How See Like Animals works
The engine turns published measurements of animal eyes into a render of your photo. Six dials drive it. Each value records where it came from and how strong the evidence is.
The six dials
- Colour
- The peak sensitivities of the animal's colour receptors (nanometres). A spectrum is estimated for each pixel, the animal's receptor responses are computed from it, and the colour differences the animal can separate are mapped onto the screen using the receptor-noise-limited model of Vorobyev and Osorio (1998).
- Sharpness
- Visual acuity in cycles per degree. The photo is blurred with a Gaussian whose width follows from the acuity and the photo's field of view.
- Field of view
- Binocular overlap and total field in degrees, drawn as an overlay.
- Foveas
- Number and type of sharp zones in the retina; the tool keeps these zones sharper than the periphery.
- Night vision
- Activity pattern, pupil shape and reflective layer (tapetum). In night mode these set a low-light gain and noise level by a stated engine rule, not a measured sensitivity.
- Motion
- Flicker fusion frequency in hertz: how many flashes per second the eye can still separate. People in this dataset: 60 Hz[1][2].
Evidence levels (tiers)
| Label | Meaning |
|---|---|
| Measured | Measured in this species (source re-verified) |
| Measured (not re-verified) | Measured in this species (source not re-verified). The value was measured in the species; the original has not yet been checked against an archived copy. |
| Derived | Derived from measured values |
| Estimated | Estimated from a close relative or an eye-size formula. The relative or the formula is named next to the value. |
| Group default | Group default: the median of measured species in the same order, class or vision type. |
| Reconstruction | Reconstruction (fossil) |
| Rule | Engine rule |
Species tiers in the catalogue: Measured core: measured values on at least 3 of the 6 dials. Measured colour or sharpness: a measured receptor set or acuity in this species; other dials come from relatives or group defaults. Estimated: no vision measurement in this species. One measured dial: a value other than colour or sharpness is measured in this species; colour and sharpness are not measured here. Fossil reconstruction: values come from living relatives and skull-based estimates.
Sources
Every value names its sources; the full list with links is on sources.
Benchmark
We test the colour mapping on the 26 in-gamut colours of a standard colour chart (325 colour pairs). The truth is each colour's spectrum run through the animal's receptors; the score is the rank correlation between the animal's colour differences and the rendered ones (1 means the render orders every colour difference the way the animal does). An unchanged photo is the baseline. Measured 2026-09-29 on the research build.
| Animal | Colour rank, our render | Colour rank, unchanged photo | Brightness rank, our render |
|---|---|---|---|
| dog | 0.943 | 0.781 | 0.969 |
| cat | 0.97 | 0.76 | 0.969 |
| honeybee | 0.851 | 0.734 | 0.969 |
| pigeon | 0.899 | 0.893 | 0.969 |
Sharpness: striped test patterns rendered at a 10° field of view. The finest stripes still visible in our render match the acuity value within 0.1%:
| Animal | Acuity value (cycles/degree) | Measured on the render | Colour filter without blur |
|---|---|---|---|
| dog | 8.3 | 8.31 | 63.75 |
| cat | 8.8 | 8.79 | 63.75 |
| pigeon | 14 | 13.98 | 63.75 |
On your device
The renderer runs in your browser (WebGL2, with a Canvas 2D fallback that produces the same pixels). Photos are never uploaded.
Questions
Is this exactly what the animal sees?
No one can see through another animal's brain. The engine shows what the eye can resolve and tell apart: colour differences the animal's receptors can separate, detail its acuity allows, the part of the world its field covers, and how it handles dim light and fast motion. Each value is labelled with how it was obtained.
Is ultraviolet real in the renders?
No photo holds ultraviolet. For animals with a UV receptor, the engine estimates UV from the smoothest spectrum that matches each pixel. This is an assumption and the tool labels it as simulated; a slider turns it off.
Is my photo uploaded?
No. Rendering runs in your browser, on your device. The site sets no cookies; visits are counted with cookieless Cloudflare Web Analytics, which builds no profile of you.
Why is a value marked "not re-verified"?
It was measured in the species, but we have not yet checked the value against an archived copy of the original paper. Re-verified measured values carry the plain "Measured" label.
Sources
- Vorobyev M, Osorio D (1998). Receptor noise as a determinant of colour thresholds. Proc R Soc B 265:351. doi.org/10.1098/rspb.1998.0302
- Govardovskii VI et al. (2000). In search of the visual pigment template. Vis Neurosci 17:509. doi.org/10.1017/S0952523800174036
- Burns SA (2020). Chromatic adaptation and reflectance reconstruction. Color Res Appl 45:8. doi.org/10.1002/col.22437
- Caves EM, Johnsen S (2018). AcuityView. Methods Ecol Evol 9:793. doi.org/10.1111/2041-210X.12911
- Healy K, McNally L, Ruxton GD, Cooper N, Jackson AL. 2013. Metabolic rate and body size are linked with perception of temporal information. Animal Behaviour 86:685-696. Table 1. doi.org/10.1016/j.anbehav.2013.06.018
- Inger R, Bennie J, Davies TW, Gaston KJ. 2014. Potential biological and ecological effects of flickering artificial light. PLoS ONE 9(5): e98631. Table 3. doi.org/10.1371/journal.pone.0098631