Vision-science instrument

See what your users actually see.

Only about 2° of your visual field is sharp. The rest is peripheral: blurred, desaturated, crowded. Scrutinizer renders that periphery so you can design for the glance.

Designing in Figma? Try the plugin instead →

Open source · macOS (Apple Silicon) · v2.9.0

FOVEAL R 92px
ECC 0.0° · ACUITY 100%
move cursor to fixate
2° The mechanism

Half your primary visual cortex serves the central 10°.

Scrutinizer models how spatial resolution, colour sensitivity, and crowding change with distance from where you're looking, approximating the falloff your retina and cortex impose.

01

Cortical magnification

Resolution drops with eccentricity along a log-polar mapping. Scrutinizer renders this falloff with hardware MIP-chain pooling. Each level halves spatial resolution, approximating how receptive fields grow with distance from fixation.

$$A(E)=\dfrac{A_0}{1+E/E_2}$$ E₂ ≈ 2.3°: the eccentricity where acuity halves. The demo above runs this exact curve.
02

Chromatic pooling

Colour perception narrows in the periphery: red–green sensitivity falls much faster than blue–yellow (Mullen & Kingdom 2002), and the parvocellular pathway loses resolution with eccentricity. Scrutinizer models this as selective chrominance pooling in Oklab, preserving luminance while colour bleeds and shifts.

$$S(E)=S_0\,10^{-k_e E}$$ kₑ: eccentricity decay in castleCSF's form, calibrated to Bowers et al. 2025. Red–green 0.085 vs blue–yellow 0.014.
03

Visual crowding

In the periphery, objects stay visible but are hard to identify. Flankers merge with targets. Scrutinizer renders this as position jitter scaled to integration-field size, a coarse stand-in for the summary-statistic pooling of the Texture Tiling Model .

$$s_c \approx \tfrac{1}{2}\,E$$ Bouma's law: flankers within ~½ the eccentricity merge with the target
Resolution collapses with eccentricity. The periphery blurs while the fixated centre stays sharp.
Who uses it

For design reviews and vision research

Designer

Will your hierarchy survive the glance?

Check whether your primary CTA and key content hold up under peripheral degradation before you ship. Fixate away from the main button or heading and check whether it remains distinguishable from surrounding content.

UX practitioner

Scan paths without an eye tracker

The Restricted Focus Viewer paradigm, modernised: see where attention lands and where peripheral clutter competes with the task. The window is biologically motivated. Earlier restricted-focus tools typically used a plain Gaussian blur.

Software team

Inspect live pages for visual clutter

Point the open-source browser at your real app and watch it through a simulation of human perception, with live congestion scores, saliency, and peripheral falloff on the page as it ships. The browser and rendering pipeline are open source.

HCI / vision researcher

Export screenshots with simulation settings

Eccentricity-dependent pooling, Oklab chromatic degradation, and density-gated crowding, all parameterised. The full pipeline config is embedded in each screenshot export, so a result can be reproduced.

From the blog

How Scrutinizer models peripheral vision

These posts explain the models behind Scrutinizer, how they're implemented, and how the results compare with published research.

Tech brief · Apr 2026

The colour-design insight we don't know we know

Red–green opponency collapses in the periphery; blue–yellow holds on. It has been settled vision science for 25 years and still hasn't reached the design curriculum. Road-sign design already uses it.

Read the brief →

All posts: releases & tech briefs →

Get Scrutinizer

Desktop app and Figma plugin

Electron browser

A standalone browser with the full foveated rendering pipeline. Browse any site with real-time peripheral simulation, saliency maps, congestion analysis, and mobile device emulation.

Figma plugin Updated

Apply foveated rendering to your Figma frames without leaving the editor. Copy static renders to canvas, or browse with live simulation.

Measure your own foveal radius

A 30-second calibration that measures your perceptual foveal radius in pixels at your current viewing distance. The demo above uses a fixed default radius.

Launch calibrator →