About DPI Analyzer and how it measures
DPI Analyzer is a small set of free tools for measuring a mouse: its real DPI, its polling rate, and the sensitivity numbers that depend on them. Everything runs in your browser. This page explains how each measurement works and how far you can trust it.
How the DPI analyzer works
DPI is counts per inch. So we count, and we ask you for the inches.
When you press Start measuring, the page asks the browser to lock the pointer with the Pointer Lock API. The cursor disappears and cannot hit the edge of the screen, and every mouse movement arrives as a pair of numbers, movementX and movementY. Between your two clicks we add them up. The straight-line total, divided by the distance in inches, is your DPI.
In Chrome and Edge we request the pointer lock with unadjustedMovement, which turns off the operating system's pointer acceleration for the page. The numbers we add up are then the mouse's own counts. Other browsers do not offer this. There the movement has already passed through your pointer speed and acceleration settings and is reported in CSS pixels, so we multiply by the screen's pixel ratio and show a warning with the settings to check.
How accurate is it?
The counting itself loses nothing. The error comes from the distance. If you are 1 mm off over 10 cm, the result is 1 percent off. Over 5 cm the same slip costs 2 percent. That is why the tool suggests a long distance, shows every run, and tells you when your runs disagree by more than 5 percent.
The result can also be off when:
- the browser does not provide raw input and Windows pointer speed is not in the middle or Enhance pointer precision is on;
- display scaling is applied twice or not at all, which shows up as an error of exactly your scaling factor and can be fixed in the advanced settings;
- the mouse leaves the pad during a run, or the surface is too glossy for the sensor.
How the polling rate test works
Each report from the mouse becomes one pointer event with a timestamp. The test counts reports and divides by the time you were moving, leaving out pauses longer than 40 ms. Chrome and Edge deliver every report through the pointerrawupdate event. Other browsers bundle reports per frame; we unpack them with getCoalescedEvents() where available. Browsers round timestamps for privacy, which is why we count reports over time rather than measuring single gaps.
Where the game numbers come from
The eDPI calculator and the sensitivity converter use each game's yaw: the degrees the camera turns per count at sensitivity 1.
- Counter-Strike 2, CS:GO and Team Fortress 2 use the Source engine default
m_yaw 0.022, documented in the csdb.gg m_yaw reference. - Apex Legends and Quake Champions (0.022), Valorant (0.07), Overwatch 2 and Call of Duty (0.0066) match the yaw table published in the csdb.gg sensitivity converter.
We checked both on 11 October 2026. We leave out games whose sensitivity is not one plain multiplier, rather than guess.
Who runs this site
DPI Analyzer is built and run by 1000 Ventures, a small studio that makes free, single-purpose web tools. We are not connected to any mouse maker or game publisher, and no brand pays to be mentioned. Brand and game names are used only to describe compatibility.
How this is funded
The site is free and currently shows no ads. If we add ads later, they will never sit inside a tool or change a result, and the privacy policy will say so first.
Contact
Found a mistake, or know a reliable yaw value for a game we do not list? Write to michael@1000ventures.io or see the contact page.
Want the real number? The DPI analyzer measures your mouse in under a minute.
Measure my DPI