CoolFace
Datasetpublic

WarmwindOS/pointerbench

Pointerbench Pointerbench is a small GUI grounding benchmark suite for computer-use models. Each example has one screenshot, one instruction, target geometry in absolute pixels, and a binary evaluation rule. Links: GitHub: https://github.com/warmwindOS/pointerbench Blog post: https://about.warmwind.com/pointer-bench/ Add your model to the official benchmark leaderboard: https://warmwind.com/contact The suite has three subsets: Subset Examples What it tests… See the full description on the dataset page: https://huggingface.co/datasets/WarmwindOS/pointerbench.

sourceHugging Facecc-by-4.0updated 3mo agoView on Hugging Face
1likes730downloads
Dataset Card

Pointerbench

Pointerbench is a small GUI grounding benchmark suite for computer-use models. Each example has one screenshot, one instruction, target geometry in absolute pixels, and a binary evaluation rule.

Links:

  • —GitHub: https://github.com/warmwindOS/pointerbench
  • —Blog post: https://about.warmwind.com/pointer-bench/
  • —Add your model to the official benchmark leaderboard: https://warmwind.com/contact

The suite has three subsets:

SubsetExamplesWhat it tests
pointerbench-sheets500Spreadsheet cells, colors, headers, edges, corners, and relative positions
pointerbench-text500Words, characters, punctuation, caret positions, chrome text, text bounding boxes, and invoice fields
pointerbench-pro500Icons, text, and mixed GUI targets across 100 professional applications

Leaderboard

Scores are percentages. The table is ranked by the reported public average across Sheets, Text, and Pro.

RankModelSheetsTextProAverage
1anthropic/claude-fable-596.058.480.878.7
2warmwind/pointer-1.6 (agentic)87.866.876.877.1
3anthropic/claude-sonnet-4.682.647.877.469.3
4anthropic/claude-opus-4.882.244.480.268.9
5warmwind/pointer-1.677.049.276.867.7
6openai/gpt-5.6-sol-pro92.032.072.065.3
7openai/gpt-5.6-sol92.030.074.065.3
8anthropic/claude-opus-4.773.836.275.461.8
9openai/gpt-5.572.431.475.859.9
10openai/gpt-5.6-terra-pro52.020.074.048.7
11openai/gpt-5.6-terra50.022.070.047.3
12openai/gpt-5.463.225.050.446.2
13openai/gpt-5.6-luna56.020.060.045.3
14openai/gpt-5.6-luna-pro54.018.062.044.7
15openai/gpt-535.213.620.223.0
16x-ai/grok-4.20-multi-agent10.61.410.07.3
17moonshotai/kimi-k2.510.83.43.05.7
18openai/gpt-5-mini6.01.45.84.4
19moonshotai/kimi-k2.65.62.82.83.7
20qwen/qwen3.7-plus5.80.63.03.1
21qwen/qwen3.6-flash4.21.22.62.7
22minimax/minimax-m33.60.43.62.5
23qwen/qwen3.6-plus3.00.63.62.4
24qwen/qwen3-vl-235b-a22b-thinking2.60.43.22.1
25qwen/qwen3.5-9b2.00.22.61.6
26google/gemini-3.5-flash3.40.60.61.5
27openai/gpt-5-nano2.00.21.61.3
28moonshotai/kimi-k2.7-code0.41.80.81.0
29x-ai/grok-4.31.20.00.00.4
30google/gemini-3.1-pro-preview0.00.20.40.2
31google/gemini-3.1-pro-preview-customtools0.00.40.00.1
32stepfun/step-3.7-flash0.00.00.20.1
33x-ai/grok-build-0.10.00.00.00.0
34xiaomi/mimo-v2.50.00.00.00.0
-Center-click baseline0.40.20.20.3

To add your model to the official benchmark leaderboard, contact https://warmwind.com/contact.

All images are synthetic 1024x768 PNG screenshots. The datasets contain no scraped user data and no PII.

Layout

Each subset is self-contained:

text
pointerbench-sheets/
  data/test/metadata.jsonl
  data/test/0000.png
  eval.py
  README.md
  REPRODUCE.md

pointerbench-text/
  data/test/metadata.jsonl
  data/test/0000.png
  eval.py
  README.md
  REPRODUCE.md

pointerbench-pro/
  data/test/metadata.jsonl
  data/test/0000.png
  eval.py
  README.md
  REPRODUCE.md

Schema

Each metadata row includes:

json
{
  "file_name": "0000.png",
  "id": "pbs_0000",
  "instruction": "Click cell E11.",
  "bbox": [x1, y1, x2, y2],
  "point": [x, y],
  "answer_type": "point",
  "eval": {"type": "point_in_bbox", "bbox": [x1, y1, x2, y2]},
  "data_type": "cell",
  "category": "cell_ref",
  "image_size": [1024, 768]
}

Point tasks are correct when the predicted point lands inside the target bbox. Bbox tasks, used in Pointerbench-Text, use an asymmetric overlap rule: a hit requires the ground truth to be almost fully covered (coverage >= 0.90) and the prediction to stay reasonably tight around it (precision >= 0.70). This penalises predictions that cut off part of the target far more than predictions that wrap it with some margin.

Evaluation

Run the scorer inside a subset folder:

bash
python eval.py --predictions preds.jsonl

Predictions are JSONL rows with an id and either a point or bbox, depending on answer_type.

Recommended inference prompt:

bash
python eval.py --show-system-prompt
text
You are evaluating Pointerbench, a GUI grounding benchmark. You will receive one 1024x768 screenshot and one task instruction. Use absolute pixel coordinates with origin at the top-left of the image. Do not return normalized coordinates. Do not crop or resize the coordinate frame. For point tasks, return JSON like {"point": [x, y]}. For bounding-box tasks, return JSON like {"bbox": [x0, y0, x1, y1]}.

You can edit the prompt for your inference stack. Keep the 1024x768 absolute pixel coordinate frame fixed, and report any image resizing or multi-step zoom strategy with your results.

See each subset README for the exact distribution, schema details, and examples.

License

Dataset images and annotations are released under CC BY 4.0. The included evaluation scripts are released under MIT.