Birdor Tools · Browser
Browser API Capability Scanner & Playground
Inspect which modern Web APIs your current browser actually supports, see permission status, and try them out in a safe, developer-focused playground. Perfect for PWA, H5 games, and Web SDK authoring.
A quick overview of what this page sees from your browser. Useful for debugging feature support and sharing screenshots when something looks off.
Desktop-style system notifications via the Notification API.
Native share sheet on supported mobile/desktop platforms via navigator.share.
Read and write text (and sometimes images) to the system clipboard.
Access device location with user consent.
Offline caching, background sync, and PWA foundation.
Pick colors from the screen (Chrome-only for now).
Passkeys and hardware-backed authentication via WebAuthn (FIDO2).
Low-level GPU access for compute and graphics workloads in modern browsers.
Check permission state and trigger a small test notification.
Try opening the native share sheet (usually on mobile or supported desktop browsers).
Write text to the system clipboard and read it back (where allowed).
Request the current position, or watch for continuous updates.
Pick a color from anywhere on your screen (where supported).
Check if WebAuthn APIs are present and see a minimal navigator.credentials.create example. This playground does not actually register credentials.
- Platform authenticator: unknown
- Conditional UI: unknown
if (window.PublicKeyCredential) {
const publicKey: PublicKeyCredentialCreationOptions = {
challenge: new Uint8Array(/* from your server */),
rp: { name: "Example RP" },
user: {
id: new Uint8Array(/* user id from server */),
name: "user@example.com",
displayName: "Example User",
},
pubKeyCredParams: [{ alg: -7, type: "public-key" }],
authenticatorSelection: { userVerification: "preferred" },
};
const credential = await navigator.credentials.create({ publicKey });
// send credential.response back to your server for verification
} else {
console.warn("WebAuthn not supported in this browser.");
}Detect basic WebGPU availability and review a minimal navigator.gpu.requestAdapter example. This playground does not actually create a device.
if ("gpu" in navigator) {
const adapter = await (navigator as any).gpu.requestAdapter();
if (!adapter) {
console.warn("No appropriate WebGPU adapter found.");
} else {
const device = await adapter.requestDevice();
const context = (document.querySelector("canvas") as HTMLCanvasElement)
.getContext("webgpu");
// configure context + render...
}
} else {
console.warn("WebGPU is not supported in this browser.");
}