Browser Feature Detector

Instantly test your browser's support for 40+ Web APIs and get a compatibility score.

0/0
APIs supported
Running feature detection...

What Is Browser Feature Detection?

Browser feature detection is the practice of testing whether a particular Web API or capability exists in the current browser at runtime, rather than assuming support based on the browser name. This is the recommended approach for progressive enhancement and graceful degradation in modern web development.

Why Feature Detection Matters

The web platform evolves rapidly. New APIs ship in one browser months or years before others. Your users may be on Chrome, Firefox, Safari, Edge, or a mobile browser — and each has different levels of support. By detecting features at runtime, you can provide fallbacks for missing capabilities, add polyfills only when needed, and use modern APIs where available without breaking older browsers. Frameworks like Modernizr popularized this approach; this tool applies the same principle with no dependencies.

API Categories Tested

  • Security APIs — Web Crypto API, SharedArrayBuffer, HTTPS detection, Cross-Origin Isolation, Trusted Types
  • Workers & Threading — Service Workers, Web Workers, Worklets, SharedArrayBuffer
  • Media & Graphics — WebGL, WebGL2, WebGPU, Canvas 2D, OffscreenCanvas, WebRTC, MediaDevices, Picture-in-Picture, Screen Capture
  • Storage — IndexedDB, localStorage, sessionStorage, Cache API, File System Access API, Storage Manager
  • Communication — WebSocket, WebRTC, Fetch API, BroadcastChannel, MessageChannel
  • Device & Hardware — Geolocation, Battery API, Bluetooth, USB, Serial, NFC, Gamepad, Accelerometer/Gyroscope
  • Observers — IntersectionObserver, MutationObserver, ResizeObserver, PerformanceObserver
  • Permissions & Notifications — Notifications API, Push API, Permissions API
  • Speech & AI — SpeechRecognition, SpeechSynthesis, AI/LLM browser APIs

Understanding the Score

The compatibility score is the number of detected APIs divided by the total APIs tested. A score of 100% is not expected or necessary — some APIs require specific hardware (WebGPU, Bluetooth), others require explicit permission (Notifications, Geolocation), and some are security-gated (SharedArrayBuffer requires cross-origin isolation headers). The score is most useful for comparing browsers side-by-side or tracking how a browser's support improves across versions.

Exporting for Bug Reports

The Export Report button generates a plain-text document listing every tested API, its support status, your user agent string, and your final score. This is useful when filing browser compatibility bug reports with development teams, comparing environments during QA testing, or documenting minimum browser requirements for a project's README.

Frequently Asked Questions

The score is the count of supported APIs out of the total tested. A score of 100% is not expected because some APIs require hardware, permissions, or security flags not always present.
Some APIs require explicit user permission (Notifications, Geolocation), HTTPS context, or hardware support. Detection tests API presence, not permission state.
Feature detection tests whether an API exists at runtime. User agent sniffing reads the browser name string. Feature detection is more reliable because it directly tests capability rather than guessing from a version string.
WebGPU is a next-generation GPU graphics API. It requires hardware support and driver updates. Available in Chrome 113+ on supported hardware, but not yet in Safari or Firefox stable.
Yes. Click "Export Report" to download a plain-text summary of all API support, your user agent, and your score. Attach it to bug reports or compatibility documentation.