WebAPI check
0
65
window.Accelerometer
MDN
window.AmbientLightSensor
MDN
window.BarcodeDetector
MDN
navigator.battery
MDN
navigator.bluetooth
MDN
window.BroadcastChannel
MDN
navigator.clipboard
MDN
navigator.contacts
MDN
window.CookieStore
MDN
navigator.digitalGoods
Chrome
window.EyeDropper
MDN
window.File
MDN
window.FileSystemHandle
MDN
document.fullscreen
MDN
window.Gamepad
MDN
navigator.geolocation
MDN
window.GravitySensor
MDN
window.Gyroscope
MDN
window.history
MDN
window.Sanitizer
MDN
window.ImageCapture
MDN
window.indexedDB
MDN
window.IntersectionObserver
MDN
window.LargestContentfulPaint
MDN
window.LayoutShift
MDN
window.Magnetometer
MDN
navigator.connection
MDN
window.Notification
MDN
window.OrientationSensor
MDN
window.PaymentRequest
MDN
window.performance
MDN
window.performance
MDN
navigator.permissions
MDN
window.PictureInPictureWindow
MDN
screen.orientation
MDN
navigator.wakeLock
MDN
window.Selection
MDN
navigator.storage
MDN
window.Touch
MDN
navigator.vibrate
MDN
navigator.virtualKeyboard
Chrome
window.visualViewport
MDN
window.Animation
MDN
window.AudioContext
MDN
navigator.credentials
MDN
window.crypto
MDN
navigator.requestMIDIAccess
MDN
navigator.canShare
MDN
window.webSpeech
MDN
window.Storage
MDN
navigator.usb
MDN
window.Worker
MDN
window.WebGLRenderingContext
MDN
navigator.gpu
Chrome
navigator.hid
MDN
window.RTCPeerConnection
MDN
window.WebSocket
MDN
navigator.xr
MDN
navigator.windowControlsOverlay
MDN
window.XMLHttpRequest
MDN
User Interaction1 required
Permission/s2 required
Secure Context3 required
Available in Web Workers4

Work in progress...

With this little project you can easily check which WebAPIs are available on your device. Just open this page on the device you want to test and voilà.

Feedback and suggestions are very welcome! Get in touch on Twitter or GitHub.

Disclaimer

There is no guarantee that the above checks work correctly. If you find any bugs, please let me know at feedback@webapicheck.com so that I can fix them. Please also note that some browsers (e.g. Brave) might not always report API support correctly and signal for certain APIs that they are available when they are actually not.

FAQ

  • What is a WebAPI?

    WebAPIs are a collection of specifications defined by W3C and others that allow web applications to interact with device hardware and browser capabilities beyond simple script execution, e.g. storage, service workers, etc.

  • What is a User Interaction [1] and why is it sometimes required?

    A user interaction is usually a click or its accessibility equivalent. This requirement can be really frustrating if you are a developer with good conscience and just want to deliver the best UX for your users, but it is also important for web apps to be safe and to protect users from bad actors. For instance, imagine a website would start tracking your location in the background without your knowledge.

  • Why are sometimes special Permissions [2] required?

    Some APIs directly access critical device hardware and data or expose powerful UI interfaces, e.g. Geolocation API, Bluetooth API, and Notifications API. For these features the browser takes control of managing access permissions so that users can easily manage and revoke them. Features that require permissions will trigger a popup asking for them when used. There is also a dedicated Permissions API that gives you better control over the permissions UX.

  • What is a Secure Context [3]?

    A secure context is a Window or Worker for which certain minimum standards of authentication and confidentiality are met. Resources delivered locally on http://127.0.0.1, http://localhost, http://*.localhost, and file:// are generally considered secure. For non-local resources to be considered secure they need to be served over https:// or wss:// and the security properties of the network channel they're delivered through must not be considered deprecated. You can find more information on Secure Contexts in the W3C spec and on the Secure Contexts page on MDN.

  • What are Web Workers [4]?

    Web workers allow applications to execute computation-intensive JavaScript in the background. That way, the application can execute heavy tasks without congesting the main thread and negatively impacting the performance of the user interface. You can find more information about web workers in the Web Worker API documentation on MDN.

The web platform and an open web are the most important infrastructure projects of our time