EvalSignal field note

Which local vision model actually understands a browser screenshot?

We compared eight local vision-model variants on one realistic browser-agent screenshot: a Google password screen with small account text, a focused empty password field, a red validation state, an error icon, a checkbox, a secondary link, and a primary button.

The target was not generic image description. Browser agents need exact OCR, UI affordance detection, state extraction, and calibrated uncertainty. The last point mattered more than expected.

Google sign-in password error screenshot used for the vision model comparison

The test screenshot: small identifier text, dropdown affordance, empty password field, validation message, and visible error state.

Result

Qwen 3.6-35B-A3B is the best default. It was fast for its quality class, multilingual, read visible strings correctly, surfaced the red error state, and was the only model that used the unknowns section honestly instead of pretending every ambiguous visual state was certain.

Qwen 3.5-9B-int4 is the budget surprise. Around the 6 GB VRAM bracket, it correctly treated the account chip as a dropdown and captured all visible strings. It missed the red border and icon, and also failed the uncertainty test, but it is stronger than its size suggests.

Nemotron Omni 30B is interesting but narrow. It had cheaper image tokens and the best explicit dropdown classification, but was slower in this setup, English-only, and overconfident on ambiguity. MiMo V2.5 had strong OCR/state extraction but was too slow at the tested quant. Gemma remained weak for identifier OCR.

Comparison

ModelBest readMain issue
Qwen 3.6-35B-A3BBest overall; only honest uncertainty resultNeeds roughly 22 GB VRAM
Qwen 3.6-27BStrong smaller option with visual-state fidelityLess robust than 35B-A3B on uncertainty
Qwen 3.5-9B-int4Best budget option; good OCR + dropdown structureMissed visual error cues
Nemotron Omni 30BCheaper tokens; explicit dropdown classificationEnglish-only; overconfident; slower here
MiMo V2.5 IQ3_SStrong OCR and state extractionLatency class was impractical in this test
Gemma 4 familyLow image-token costIdentifier OCR failures

Why this matters

A browser agent can recover from many perception errors by checking the DOM or accessibility tree. What it cannot recover from is a vision caption that confidently reports a guessed state as fact. The useful model is not just the one with the best OCR or the most parameters. It is the one that knows when a visual cue is ambiguous and should be verified before action.

A practical routing policy now looks simple: use Qwen 3.6-35B-A3B if you have the VRAM headroom, Qwen 3.6-27B if you need a smaller strong model with visual-state fidelity, and Qwen 3.5-9B-int4 if you are operating in the 6-8 GB range and can tolerate missing some color/error cues.

Source notes

Round 1   Round 2   Round 3   Round 4