- Home
- How we build and test every tool
How we build and test every tool
Every tool on this site is a thin reader over documented browser APIs. Here is exactly how they are built, tested and limited.
Where the numbers come from
Each page runs a small vanilla-JavaScript module that reads standard interfaces โ navigator, screen, window, Intl, WebGL contexts and the Network/Battery/WebRTC APIs โ and prints what comes back. There is no agent installed, no server-side guessing, and no inference dressed up as measurement.
| Signal | Read from | Typical reliability |
|---|---|---|
| OS family, browser, version | User agent + client hints | High, though version reduction applies |
| Screen, viewport, pixel ratio | screen + window | Exact for CSS units |
| CPU core count | navigator.hardwareConcurrency | Reliable where exposed |
| Device memory | navigator.deviceMemory | Rounded bucket, Chromium only |
| GPU vendor and renderer | WebGL context | Deliberately generalised (often โANGLEโ) |
| Public IP and approximate area | Third-party IP API | City-level, frequently wrong on mobile |
How we test
- Current stable Chrome, Edge, Firefox and Safari, on Windows, macOS, Linux, Android and iOS.
- Viewports from 320 px to 1440 px, with and without browser zoom.
- Normal, private/incognito and tracking-prevention profiles, since all three can change results.
- Profile with common content-blocking extensions on, to confirm the page explains a failure instead of lying about it.
Our editorial rules
- Never invent precision. If the browser returns a bucket, we print a bucket.
- Name the missing value. โNot exposedโ is an answer, not an error state.
- Explain the mechanism. Every result page says which API produced the value and why it may vary.
- No fabricated evidence. No invented benchmarks, percentages, studies or expert quotes.
- Keep the reader's data with the reader. Results stay in the tab unless a page documents an external lookup.
Reporting a wrong result
Detection is browser- and version-dependent, so we expect to get things wrong occasionally. If a page misreports your setup, tell us which browser, version and operating system you used and what you expected โ that is everything we need to reproduce it.