Browser diagnostic
Full report: permissions, Web APIs, codecs, GPU, storage.
Identity
Permissions queried without prompting
Supported Web APIs
Codec support
Video (playback)
Audio (playback)
Storage
Graphics
Network
Hardware
Display & preferences
Locale
Fingerprint surface
Computed locally, never transmitted. This section shows what signals a tracker could use to identify this browser. We hash each signal and discard the inputs — the hashes here never leave your device.
About this tool
A complete snapshot of what your browser can and cannot do. Most browser bugs aren't really browser bugs — they're capability differences: an API that shipped in Chrome but not in Firefox yet, a codec your device doesn't support, a permission the user has quietly denied, a storage quota that's already full. The diagnostic surfaces all of this on a single page so you can spot the culprit in seconds rather than bisecting browser versions.
The report covers permissions (geolocation, notifications, camera, microphone, clipboard, and more — queried without triggering prompts), around 30 Web APIs (Service Workers, WebAuthn, File System Access, Web Share, WebRTC, and others), codec support for every major audio and video format, storage quotas, WebGL and GPU info, network conditions, hardware hints, locale, and display preferences including dark mode and reduced-motion settings.
Everything runs locally. No probe traffic, no external reporting — the diagnostic reads what your browser already knows about itself. Export the whole report as Markdown to paste into a GitHub issue or support ticket, or as JSON for programmatic comparison. The classic use case: a web app works for your colleague but not for you. Run the diagnostic on both machines, diff the reports, and the answer usually falls out of the first few differences.
How to use this tool
-
Open the page
The diagnostic runs automatically — no buttons to press. It walks through browser identification, permissions, Web APIs, codecs, GPU, and storage in turn, filling sections in as each check completes.
-
Scan the report
Sections collapse and expand so you can drill into anything that looks off. Anything in red is a feature your browser doesn't support — useful when a site is broken and you're trying to work out whether your browser is the problem.
-
Copy the Markdown export
Paste it into a bug report and the recipient sees exactly what you saw. The export is structured as Markdown headings and tables, so it drops cleanly into GitHub issues, Notion pages, or Slack messages without reformatting.
Frequently asked questions
Why does this matter for web development?
When a web app behaves differently for two users on the same site, it's almost always a capability difference: a codec, a permission, a storage quota, an API that isn't shipped in one of the browsers. Running this report on both machines and diffing the output usually finds the cause fast.
What's the fingerprint surface section about?
It shows what signals a tracker could in principle use to identify this browser across sites — canvas rendering, WebGL renderer, audio processing. We hash each signal locally and display the hash; the raw inputs and the hashes never leave your device.
Does running this leak my data?
No. Every check runs locally. No network request carries the report or any of the individual signals. The only outgoing traffic is the single cookieless analytics ping for the page view itself.
What's in the Markdown export?
Everything in the on-page report: browser and OS identification, permissions state, the full list of feature-detected Web APIs, codec support, storage quotas, GPU and WebGL info, network hints, locale, and display preferences. It's formatted as headings and tables so it drops cleanly into a GitHub issue or a Notion page without reformatting.
Why does it take a couple of seconds to run?
A handful of the checks are asynchronous — storage quota, WebGPU adapter info, and codec support all return Promises that have to resolve. The page shows a spinner while they're pending and fills the report in as each one completes. The whole thing is usually done in under two seconds on a modern device.
Can I use it on mobile?
Yes — the report layout adapts to narrow screens, and every check that makes sense on mobile runs there. Mobile browsers expose slightly fewer APIs (e.g. File System Access is desktop-only), so you'll see more "not supported" rows, which is accurate for those environments.
How is this different from a user-agent lookup site?
UA lookup sites tell you what your browser claims to be — useful, but not the whole picture. A Chrome-based browser on iOS still uses WebKit under the hood and can't run certain APIs. This diagnostic feature-detects what actually works rather than trusting the UA string, so you get the truth about capabilities, not just the label.
Can a site detect my exact hardware specs?
Some of it. GPU vendor and renderer are exposed via WebGL. Logical CPU count via navigator.hardwareConcurrency. Approximate memory (rounded) via deviceMemory. But not your CPU model, exact RAM, disk capacity, or any serial number.
Why does Firefox show less than Chrome here?
Firefox ships anti-fingerprinting by default — many of the fields Chrome populates are deliberately blank or rounded in Firefox. Safari does similar things. It's not a bug in the diagnostic; the data simply isn't available.