Permissions API State Debugger
Is the camera granted? Is geolocation still promptable? This debugger queries every Permissions API descriptor at once, shows each state in real time, and logs changes as they happen — no guessing, no DevTools.
Tool interface
Permission states
| Descriptor | State | Notes |
|---|
Change log
Introduction
Permission-gated features fail silently when you guess the state. The Permissions API lets you query it directly — but you have to know every descriptor name and handle unsupported ones. This debugger does all of that in one view.
How it works
- Iterates a curated list of permission descriptors.
- Calls
navigator.permissions.query()for each. - Attaches
onchangelisteners to log live transitions. - Clearly marks unsupported or errored descriptors.
Privacy
All queries are local via the Permissions API. Querying a permission never triggers a prompt or sends data anywhere. No account, no API key.
Limitations
- Descriptor support varies by browser; unsupported ones are flagged.
- Some permissions require additional descriptor fields not covered here.
- State reflects the current origin only.
FAQ
Does querying trigger a permission prompt?
No. navigator.permissions.query() is read-only and never shows a prompt.
Is my data uploaded?
No. Everything runs locally in your browser.