Short answer: a web page cannot measure your mouse’s DPI. A “DPI analyzer” or “DPI checker” asks you to move your mouse a known physical distance and counts the pixels it travelled — but the numbers a browser actually gives the page are not your mouse’s hardware counts. To show exactly why, we captured every field the browser hands a page during a mouse move.
Every value the browser gives the page
We drove a straight 300 CSS-pixel horizontal move in headless Chrome and logged each pointermove event. These are the complete set of position and movement fields a page receives — the raw material any “DPI analyzer” has to work with:
| Field the browser provides | What it is | Sample value (this run) |
|---|---|---|
movementX / movementY | Change since the last event, in CSS pixels | 10 / 0 per step (summing to 300 / 0) |
clientX / clientY | Position in the viewport, CSS pixels | 100 → 400 / 400 |
screenX / screenY | Position on the screen, CSS pixels | 100 → 400 / 543 |
pageX / pageY | Position in the page, CSS pixels | 100 → 400 / 400 |
window.devicePixelRatio | CSS pixels per device pixel | 1 (often 2 on high-DPI screens) |
That is the whole list. There is no field for dots-per-inch, no physical distance, and no raw device count. The browser never tells a page how far the mouse moved in inches or centimetres, or how many counts the sensor reported. It only reports movement in CSS pixels.
CSS pixels are already three transforms away from DPI
A mouse sensor reports counts. By the time that reaches a web page as movementX, it has passed through:
- Your pointer-speed setting — the operating system scales sensor counts up or down before anything else sees them.
- Pointer acceleration — most systems move the cursor farther when you move faster, so the pixels-per-count ratio is not even constant within a single stroke.
- Display scaling —
devicePixelRatiomaps CSS pixels to physical pixels (2 on a typical Retina display), another factor between what you feel and what the page sees.
So the pixels a “DPI analyzer” counts equal, roughly, your DPI times your pointer speed times an acceleration curve times a scaling factor. The page knows none of those three settings. With one equation and four unknowns, it cannot solve for DPI — it can only report a number that changes when you change your pointer speed, and call it DPI.
What you can actually check in the browser
A browser is honest about pointer events, not sensor hardware. You can confirm which mouse buttons and movements reach the page, check scroll direction and wheel units, or measure your click speed — all of which are real browser observations. To know your mouse’s true DPI, read the manufacturer’s specification or its own configuration software, which talks to the sensor directly. For what a browser can and cannot observe in general, see how we test.
Method: fields captured from real pointermove events in headless Chrome, driven by an automation tool at a 1× device scale, on 2026-09-15. Values are the browser’s own reported numbers; on your machine devicePixelRatio and the totals will differ, which is exactly the point. These are browser-observed events, not sensor readings, and do not certify any hardware specification.