browser hardware tests

Screen test

Pick a color field and it takes the whole screen.

A dark dot on white is a dead pixel; a bright dot on black is a stuck one.

Screen Not started — 10 fields

Pick a field below, or press Start to walk all ten.

Turn the brightness up first, and clean the glass. Dust looks exactly like a dead pixel until you wipe it and it moves.

Resolution reported
—
Pixel ratio
—
Frames per second
—
Color gamut
—
Dynamic range
—
Color depth
—
Displays attached
—

Each field is chosen to expose a different fault. The list of what to look for on each one is below the test. This browser cannot keep the display awake, so set your screen timeout generously before you start.

Press Esc to stop.

Pick a field and it fills the screen with one flat color. A dark dot on the white field is a pixel that never lights up, and a bright dot on the black field is one stuck on. The red, green and blue fields narrow it to a single subpixel, and the gray and gradient fields show uneven backlighting and banding. Clean the glass first, because dust moves and a dead pixel does not.

How do you tell a dead pixel from dust?

Run the white field and look at the mark, then wipe the glass with a dry microfibre cloth and look again. Dust moves or disappears. A dead pixel sits in the same place forever, and it is square. Dust is not.

The other giveaway is the black field. Dust on a black screen is invisible; a stuck pixel is a bright point you cannot miss.

What is the difference between a dead pixel and a stuck pixel?

A dead pixel receives no power and stays black, so it shows on the white field and on all three primaries. A stuck pixel is permanently on at one color, so it shows on the black field as a colored point.

Which one you have decides whether it is worth trying anything. A stuck pixel sometimes clears on its own or after the panel has been running a while. A dead one does not come back.

Why does this test show red, green and blue separately?

Each pixel is built from separate red, green and blue elements, and a fault often affects one of them rather than the whole pixel. On the red field, a dark dot means that pixel's red element is out while the other two still work.

The cyan, magenta and yellow fields do the reverse: two channels on and one off. A colored dot there is an element stuck on rather than one that has failed off. On a panel whose subpixels are not simple RGB stripes, and many OLED layouts are not, the fields still find the defect. They just stop naming which element it is.

Why does the resolution shown not match your monitor?

Because a browser reports CSS pixels, not the panel's pixels. The page multiplies by the device pixel ratio to show both numbers, and that ratio mixes your system's display scaling with your browser's zoom into one value that no interface separates.

So a 4K monitor at 150% scaling reports 2560 across, and the page cannot tell whether that came from Windows or from a Ctrl+ you pressed last week. Setting the browser back to 100% zoom brings the two numbers closer to the panel.

Can a browser measure your refresh rate?

No interface reports the display's refresh rate, so this page counts something adjacent: how many times a second the browser actually paints. That number follows the display when nothing is in the way.

Plenty gets in the way. A compositor saving power, a window straddling two monitors with different rates, or a browser capped at 60 all report low while the monitor runs at 144. Read the figure as a floor under your refresh rate, never as a reading of it.

What does this test do on a phone?

The same thing, and phone screens get dead pixels and image retention like any other. The fields cover the viewport, and where the browser grants fullscreen they cover the display.

On an iPhone, fullscreen for an ordinary element is still partial, so the browser's own bars may stay on screen and the strip beneath them never gets a field. The test says so when that happens. Keeping the screen awake needs iOS 18.4 or newer; below that, set your auto-lock generously before you start.

What can this test not tell you?

Your panel's native resolution
A browser reports CSS pixels. The device pixel ratio converts them, but that ratio folds your system scaling and your browser zoom into one number, and nothing separates the two.
Your refresh rate
Nothing reports the display's rate. This page counts the frames the browser paints, which the browser can cap for power saving. Read it as a floor under your rate, not a reading of it.
Your panel's real color depth
Browsers answer 24-bit almost everywhere, by design. 8-bit, 10-bit and dithered 8-bit look identical from here. The gradient field shows banding to your eye instead.
Whether a dot really is a dead pixel
A browser cannot read the screen back. This test paints the field and stops there; what you see on it is your observation, not a measurement.
Response time, ghosting and smearing
Measuring how fast a pixel changes takes a high-speed camera or a photodiode. A browser has neither a sensor nor a clock fine enough.
Brightness, contrast and color accuracy in numbers
Nits, gamma and delta-E need a colorimeter. The gray field shows uneven lighting to your eye and measures none of it.
Whether the screen is genuinely HDR
The browser can say it considers the display capable of a high dynamic range. It does not say how bright it gets, and the fields here are standard range.
The pixels behind the browser's own bars
Where fullscreen is refused, the field covers the page area and not the display. The strip under the address bar never gets a field, and the test reports it.

What does your result mean?

Dark dot on white
A pixel that never lights up, or dust. Wipe the glass: dust moves and a dead pixel does not.
Bright dot on black
A pixel stuck on. Its color tells you which element is stuck: a red point is the red one.
Dark dot on one primary only
That pixel's element for that color is out, and the other two still work.
Gray clouds near the edges of black
Backlight bleed. A corner glow that changes as you move your head is IPS glow instead, which is how the panel type behaves rather than a fault.
Visible steps on the gradient
Banding: the panel or the connection to it cannot carry enough distinct levels. Check the cable and the color-depth setting in your system's display panel.
Patches or a faint ghost on mid gray
Uneven lighting, or image retention from something that sat on screen for hours. Retention fades; burn-in does not, and only time separates them.
Nothing on any field
No defect large enough for you to see at the distance you are sitting. It is not a clean bill of health: this test shows fields, it never reads the screen back.

Common questions

Can this test fix a stuck pixel?
No. Rapidly cycling colors is the usual folk remedy, and this test deliberately does not do it: a full-screen field changing several times a second is a seizure risk under WCAG 2.3.1, so the automatic walk here never goes below four seconds a field.
How many dead pixels does a warranty cover?
That depends entirely on the maker and the model, and the thresholds move. Count what you find on each field, note whether the dots are dark or bright, and check the policy for your exact model. The copy button on this page gives you the browser's own report of your display to paste alongside.
Does the screen test work in Firefox and Safari?
Yes. The color fields need nothing beyond CSS, and fullscreen and the wake lock have been supported since Firefox 126 and Safari 16.4 — on an iPhone the wake lock needs iOS 18.4. The number of attached monitors is the one thing only Chromium reports, and where it is missing the page says so rather than printing a guess.
Why does the test ask you to turn the brightness up?
A dim screen hides both faults this test looks for: a dead pixel disappears into a dull white, and backlight bleed only shows when the backlight is working hard. Brightness is not something a page can read or change, so it has to ask.
Is a bright corner on the black field a defect?
Usually not. IPS panels glow at the corners when you look at them off-axis, and it shifts as you move your head. Backlight bleed stays put when you move and looks like a cloud creeping in from an edge. Neither is a dead pixel.

This test's engine last changed on . The page says only what the engine can do, and the two change together.