Benchmark · October 21, 2026Scroll

Laocoön and His Sons, Vatican Museums. Photo: CC0, Rijksmuseum.

Mona's benchmark

Everything Mona has measured, with the data and the method. You don't need to read this to use Mona: it's here for those who want to check.

Analyze a site
0,68gaze: correlation with real gazebefore 0.66 · average map 0.43
0,64element detector: F1 (text, button, image)before 0.59
5.5 ptsscore gap from an image alonebefore 8.1 · correlation 0.82
0,995browser versus Python: gaze mapscreen score gap: 0.1 pt

Where the eye lands

Mona predicts a heatmap: the areas the eye visits during the first 3 seconds. It is compared with real human maps (UEyes, 62 people) and with a simple baseline: the average map, meaning the habit of looking at the top and center. Imp1k was never used for training.

Where the eye lands: Mona versus the average mapCorrelation (CC) with human maps, 1 = perfect. Imp1k measures annotated importance, not eye movements: lower values are normal there. “Mona now” averages the maps of two models.
  • Average map
  • Mona before
  • Mona now
0,000,200,400,600,800,430,660,68UEyes (test)0,320,490,56Imp1k web pages0,370,430,47Imp1k mobile screens
See the values
Average mapMona beforeMona now
UEyes (test)0,430,660,68
Imp1k web pages0,320,490,56
Imp1k mobile screens0,370,430,47
Why we don't keep the last training checkpointThe more the model learns, the better it fits UEyes, but the worse it generalizes to other pages (Imp1k, “dev” half). The chosen point is the best compromise between the two, not the best on UEyes alone.
  • UEyes, validation
  • Imp1k web pages (dev)
0,350,450,550,650,7513579111315epoch
See the values
epochUEyes, validationImp1k web pages (dev)
10,6430,539
20,6930,485
30,7070,539
40,7060,562
50,7050,559
60,7130,564
70,7040,531
80,7080,529
90,7060,522
100,7040,504
110,7030,508
120,7030,497
130,7050,509
140,7050,510
150,7040,510

Reading the interface

When Mona starts from an image (mockup, screenshot), it can't read the page code: a homemade detector finds texts, buttons, images, fields and icons. It learned on about 1,500 public sites whose labels come from the page code. This test uses sites it has never seen.

Element detector: texts, buttons, images, fields, iconsF1 (recall/precision balance, 1 = perfect) on 120 never-seen sites (279 screens). Icons and fields remain weak; the score relies only on texts and buttons.
  • Before
  • Now
0,000,250,500,751,000,610,73text0,550,59button0,610,60image0,290,49field0,210,36icon
See the values
ClassBefore: recall / precisionNow: recall / precisionF1 beforeF1 now
text0,59 / 0,640,72 / 0,750,610,73
button0,51 / 0,590,59 / 0,590,550,59
image0,65 / 0,570,61 / 0,600,610,60
field0,24 / 0,380,38 / 0,700,290,49
icon0,15 / 0,340,31 / 0,430,210,36

The score of an image

To know whether reading from an image is reliable enough, the score is calculated twice: with the page code (the reference), then with what the detector sees on the image alone. Average gap 5.5 points (median 3.3); 80% of screens within 10 points.

Score of a mockup: gap with the score taken from the page codeAverage gap in score points (0 = identical), on 120 never-seen sites. “With exact boxes” is the floor: the gap that remains even if detection were perfect.
  • Before
  • Now
  • With exact boxes
014288,15,53,8All18,76,05,9Contrast24,914,910,9Sizetext9,56,31,8Button0,00,00,0Clutter8,35,03,4Amounttext25,413,37,7Hierarchy
See the values
BeforeNowWith exact boxes
All8,15,53,8
Contrast18,76,05,9
Text size24,914,910,9
Button9,56,31,8
Clutter0,00,00,0
Text amount8,35,03,4
Hierarchy25,413,37,7

The brain

A model predicts the response of 20 areas of the visual cortex to an image, trained on MRI measurements (THINGS-fMRI). It is validated on photos, not web pages: in reports it stays indicative and doesn't count toward the score.

Brain: correlation per area on 100 never-seen imagesThe longer the bar, the better the area is predicted. The two “value” areas (in yellow) can't be predicted with this data: Mona doesn't show them.
V10,68V20,59V30,51V40,31V3ab0,47LO0,51MT0,57VO0,31FFA faces0,61OFA faces0,59EBA bodies0,63STS social0,32PPA places0,60RSC places0,41TOS places0,52LOC objects0,52IT objects0,51attention FEF IPS0,35OFC value0,08vmPFC value0,00
See the values
AreaValue
V10,68
V20,59
V30,51
V40,31
V3ab0,47
LO0,51
MT0,57
VO0,31
FFA faces0,61
OFA faces0,59
EBA bodies0,63
STS social0,32
PPA places0,60
RSC places0,41
TOS places0,52
LOC objects0,52
IT objects0,51
attention FEF IPS0,35
OFC value0,08
vmPFC value0,00

What Mona does, with nothing hidden

Every step, every piece of data, every limit. If something is missing here, that's a flaw in this page.

The steps of an analysis
  1. Capture (server). A server opens the address in Chrome (1440 × 900), waits for the entrance animations, scrolls through up to 12 screens and records, for each screen, the text, sizes, colors and buttons. It sends back the images and these readings, then forgets.
  2. Gaze (your browser). Two small ONNX models (about 8 MB together) predict where the eye lands during the first 3 seconds. Mona averages their maps.
  3. Brain (your browser). A model of about 6 MB predicts the response of 20 areas of the visual cortex, compared with about 500 web pages. It does not count toward the score.
  4. Readability (your browser). Six rules: text contrast (weight 2), text size (1), visible main button (2.5), clutter (1.5), amount of text (1), hierarchy (1.5).
  5. Score. Weighted average per screen, out of 100; the first screen counts for half, the following ones for the other half.
  6. Report. Kept in your browser's storage (IndexedDB). JSON export, PDF printing, deletion at any time.

The models are stored in half precision to halve their size; the result is identical (gaze correlation with real maps: 0.681 with or without). The JavaScript port of the rules is checked against the Python version: gaze maps correlated at 0.995, screen score within 0.1 point.

The data used
SourceUsed toDetails
UEyes (Jiang et al., CHI 2023)train the gaze model1,980 interfaces, 62 people. CC BY 4.0.
Imp1k (Fosco et al., 2020)measurement only200 web pages and 200 mobile screens, with annotated importance. Never used for training; one half is used to pick the model, the other to report the result.
THINGS-fMRI (Hebart et al.)train the brain model8,740 images seen by 3 people. CC0 data; THINGS images are for research only.
About 1,500 public sites (Tranco list)train the element detector3 screens per site, labels taken automatically from the page code. Adult, gambling and piracy sites excluded. Screenshots not published.
What leaves, what stays
  • The capture server sees the address you give and the page content during the analysis. It keeps no image, no text, no report. It keeps in memory, for one hour, a counter per IP address to limit abuse.
  • Gaze, brain, rules and score are calculated in your browser. Once the capture is received, nothing goes back out.
  • No account, no cookies, no audience measurement. Fonts and libraries are served by this site, not by a third party. The page's host (Vercel) sees visits like any host.
  • The server refuses internal addresses (localhost, private networks), unusual ports and redirects to them.
What Mona can't do
  • Tell whether people like a page. It measures attention and readability, not taste, and does not replace a test with real people.
  • Gaze is learned from free viewing during the first 3 seconds: it does not predict searching for a specific piece of information.
  • The brain layer has not been validated on web pages (it has on photos). It is indicative.
  • Starting from an image, reading the interface is less reliable than from the page code. The measured score gap is given in the charts above.
  • Text drawn inside an image is not read. A screen is only seen at one moment: carousels, videos and windows that open later escape the analysis.
  • Pages behind a login, a blocking banner or bot protection give a partial report. At most 12 screens are analyzed.
  • Mona doesn't replace a full accessibility audit: it checks contrast and size, not keyboard navigation or screen readers.

In short

For those who just want to know whether Mona is for them, without reading the charts.

Is it reliable? Yes, for a quick first opinion on attention and readability. No, for deciding in your place.

Mona was tested on pages and screens it had never seen, and compared with real measurements. It's good at spotting what draws the eye and what gets in the way of reading. It doesn't know what people like.

Yes, you can rely on it

For what is measured directly:

  • Where the eye lands. Mona finds most of what real people look at: 0.68 out of 1, versus 0.43 for the simple habit of looking at the top and center. On web pages it has never seen: 0.56 versus 0.32.
  • What makes a live website hard to read. Text too small, contrast too low, too much text, a hard-to-see button: these are precise rules, applied to the letter. The calculation in your browser gives the same result as the original version (a 0.1-point difference out of 100).

Yes, but with caution

Useful, not exact:

  • The score of an image or a mockup. Without the page code, Mona guesses the texts and buttons. Result: a score about ±5.5 points from the one it would give with the code (half the time within 3.3 points; 80 screens out of 100 within 10 points). Think of a thermometer that is off by a few degrees.
  • Small elements. Icons and input fields are often missed (scores of 0.4 and 0.5 out of 1). They do not count toward the score.
  • The brain response. It is predicted from photos, not web pages, and it does not count toward the score: treat it as a curiosity.

No, that's not its job

Mona can't:

  • Tell whether people like your page, or whether it makes them want to buy or sign up. It measures attention and readability, not taste.
  • Replace a test with real people. It helps you sort your ideas before showing them, not settle the debate.
  • Do a full accessibility audit. It checks contrast and text size, not keyboard use or screen readers.
  • Read pages behind a password, or a native mobile app.

What it's for, concretely

Who it's for

It's for you if…

  • you create or improve a site, a sales page, a landing page or a mockup;
  • you're a designer, a developer, a freelancer, a student, or you run a small organization's website;
  • you want a quick, free opinion before showing your work, or to choose between two ideas;
  • you don't have the budget for an eye-tracking test.

It's not enough if…

  • you have to make a costly decision (a big redesign): also run a test with real people;
  • you have to prove legal accessibility compliance;
  • your page is behind a login, or it's a native mobile app;
  • you want to know whether people will buy: Mona doesn't measure that.

The numbers, simply explained

Correlation, for example 0.68
A measure of how similar Mona's map is to that of real people: 0 = no relation, 1 = identical. 0.68 means “clearly similar”; the simple habit of looking at the top center only reaches 0.43.
5.5-point gap
If a page's “true” score is 70, Mona reading only an image will land between 67 and 73 half the time, and between 60 and 80 8 times out of 10.
F1 (element detector)
A score from 0 to 1 that tells whether Mona finds the texts, buttons and images without inventing any. 0.73 for texts: it finds most of them, with a few mistakes.
“Never seen during training”
The tests use pages Mona has never seen, like an exam with brand-new questions: that's what makes the numbers honest.

If you remember only one thing: Mona is a good first look, fast and free, at what draws the eye and what reads poorly. Fix things with it, then check with real people.