Bezig met het auditeren van je browser…
Detecteren…
30 controles · 20 met live demo's · 10 activeerbare acties
Graphics
Compute
Storage
Connectivity
Media
Sensors
Security
Platform
Activeer een actie
Activeer zelf echte mogelijkheden - je browser kan om toestemming vragen. Resultaten zijn live en worden niet opgeslagen.
Apparaat
Toestemming
Uitvoer
Detectie controleert de aanwezigheid van API's; live tests draaien de feature echt; acties worden door de gebruiker getriggerd. 100% client-side · niets verlaat je browser.
(Documentatie in het Engels)
What it does
Audits your actual browser against 30 modern web capabilities - WebGPU, WebGL 2, WebAssembly (SIMD, threads), Service Workers, OPFS, WebAuthn, View Transitions, Popover API, and more - grouped into 8 categories: Graphics, Compute, Storage, Connectivity, Media, Sensors, Security, and Platform. Each check carries a weight (1-3), and the results roll up into a weighted readiness score 0-100 with a tier label, from Fully modern (90+) down to Legacy browser (below 35).
Detection is three-tier: passive API-presence checks run automatically on load; live tests (20 checks carry a demo chip) actually execute the feature - render a canvas gradient, draw a WebGPU triangle, validate a SIMD WASM module, write to IndexedDB/OPFS; and 8 triggerable actions (Camera, Microphone, Geolocation, Clipboard, Notifications, Vibrate, Fullscreen, Web Share) let you fire real permission-gated APIs yourself. Everything runs 100% client-side - nothing leaves your browser, and results are not stored.
How to use it
- Open the tool - the scan starts automatically, revealing the 30 checks row by row (~55 ms each) with the browser label (parsed from your user agent) above the summary.
- Read the gauge: the weighted readiness score, plus tallies of supported / limited / needs-HTTPS / unsupported checks.
- Click any row to expand it: the one-line explainer, a per-browser detail note when present (e.g. vendor prefix, measured value), and a Copy-able JS detection snippet like
!!document.createElement('canvas').getContext('webgl'). - On a row with a
demochip, click ▶ Run live test to execute the capability for real. The outcome shows as works, failed, or n/a, with detail such as the GPU name or the rendered canvas size. - Use Show all snippets to expand every row at once, Re-run scan to re-detect from scratch, or Copy share link to copy the current URL with your results encoded in it.
- Scroll to Trigger an action and click any of the 8 buttons - Device (Camera, Microphone), Permission (Geolocation, Clipboard, Notifications), Output (Vibrate, Fullscreen, Web Share). Your browser may prompt for permission; each button reports success, denied, not available, or error.
Examples
Weighted scoring (verified against the score module, src/tools/browser-support/score.ts) - status contributions are supported = 1.0, limited = 0.5, needs-HTTPS = 0.3, unsupported/unknown = 0, each multiplied by the check’s weight:
All 30 checks supported → score 100
All supported except WebGPU (weight 3) → score 95
All supported except Canvas 2D (weight 2) → score 96
WebGPU reported "limited" instead of supported → score 97
WebGPU reported "needs-https" → score 96
WebGPU unknown → score 95
With only WebGPU unsupported, the category breakdown reads Graphics 70 (4/5 supported), and 100 for Compute, Storage, Connectivity, Media, Sensors, Security, Platform.
Shareable links (verified against src/tools/browser-support/share.ts) - after a scan, the report is packed (one character per check in catalog order: s supported, l limited, h needs-https, x unsupported, ? unknown), JSON-encoded, and base64url-encoded into the ?r= URL parameter. The 30-check report above packs to sssxssssssssssssssssssssssssss and encodes to a 116-character ?r= string; decoding it reproduces the exact statuses, score, and browser label. Opening a shared link replays the saved report instead of re-scanning your browser.
Good to know
- Private: detection, live tests, and actions all run in your browser. No results are uploaded; the share link only works because the data itself lives in the URL.
- “Needs HTTPS” means the API exists but is restricted to secure contexts - the tool flags it lower than “limited” because you cannot ship on it from your current context.
- The live tests and actions are the honest layer: API presence can lie (a vendor may ship a stub), but a rendered WebGPU triangle or a real IndexedDB write cannot.
- The readiness score is weighted toward foundational capabilities (WebAssembly, WebGPU, Service Workers weigh 3), so missing one modern nicety costs less than missing a baseline.
- Related tools: Browser Fingerprint Viewer, Permissions-Policy Builder, Security Headers Analyzer