The seven ways a browser can refuse a microphone
A web page opens a microphone with one call, and the web platform specifies exactly which failures that call can produce. There are seven, no more, and each one points somewhere different. If the tool above rejected you, it printed the name — find it in this table.
| Rejection | Specified trigger | What it means on your PC | What to do |
|---|---|---|---|
NotAllowedError | Permission Failure | You said no, or the browser said no on your behalf — a remembered "block", an insecure page, or a permissions policy on an embedding site. | Clear the site permission and reload. This is also the error you get when the OS has taken the decision for the whole browser. |
NotFoundError | NotFound Failure | No device of the requested kind exists as far as the browser can see. | Plug the microphone in, unmute it at the OS level, and check the browser is not blocked from the microphone system-wide. |
NotReadableError | A hardware error such as an OS, program or webpage lock preventing access, leaving no candidate device | The device exists and you allowed it, but something else has it open exclusively — the classic "another app is using your microphone". | Close the other conferencing app or browser tab holding the device, then retry. On Windows this is the single most common cause. |
OverconstrainedError | Constraint Failure | You asked for something no available device can deliver — an exact sample rate, an exact channel count, a deviceId that has gone away. | It carries a `constraint` property naming the offending one. Drop the exact requirement and ask for it as ideal instead. |
AbortError | Device access failing for any reason other than the listed ones | The catch-all. Access failed and the spec has no more specific name for it. | Restart the browser, then the machine. If it survives both, suspect the driver. |
TypeError | An empty set of requested media types, or a required constraint whose name is not allowed for device selection | The page asked wrongly. Nothing is broken on your side. | Nothing you can do as a visitor — this one is a bug in the site. |
InvalidStateError | The document is not fully active | The page was in the back/forward cache or otherwise not the live document when it asked. | Reload the page rather than restoring it from history, and ask again. |
The rule that makes “permission denied” untrustworthy
There is one detail in that algorithm worth knowing before you troubleshoot anything, because it
invalidates the obvious conclusion. The specification defines a check called getUserMedia
specific failure is allowed, which reads the microphone permission state and returns false when
it is already denied. Both the
NotFound failure step and the Constraint failure step then say: if that check returned false, jump
to Permission Failure instead.
In other words, once a site is blocked, NotFoundError and OverconstrainedError are both reported as NotAllowedError. This is deliberate privacy design — a blocked site should not be able to enumerate your hardware by watching which error it gets. But it means a “permission denied” message on Windows 11 does not prove you denied permission. It might equally be that no microphone exists. Clear the site permission first, then read the error again; only then is it diagnostic.
Microsoft’s own order of operations
If the browser cannot open a microphone that Windows claims to have, the settings below are where the fault lives. Every path is taken from Microsoft Support, “Fix microphone problems” (Applies To: Windows 11, Windows 10), read directly on 2026-08-15 — including the tab it appears in, since the article’s Windows 11 and Windows 10 instructions genuinely differ.
| Goal | Path | Detail | Documented for |
|---|---|---|---|
| Let anything use the microphone at all | Start → Settings → Privacy & security → Microphone | Turn on Microphone access, then Let apps access your microphone. Microsoft notes that desktop apps do not appear in the per-app list and are covered by the separate “Let desktop apps access your microphone” switch, which cannot be set per app. | Windows 11 |
| Choose which microphone Windows hands out | Start → Settings → System → Sound → Input | Under “Choose a device for speaking or recording”, select the one you mean. Browsers follow this default unless a site has been given a specific device. | Windows 11 |
| Test the microphone in Windows itself | Start → Settings → System → Sound → Input → “>” beside the device | On the properties page, use Start test under Microphone test, speak, then Stop test and Play under Recorded sample. If this fails, no browser is going to succeed. | Windows 11 |
| Raise a quiet microphone | Start → Settings → System → Sound → Input → the device’s properties page | Adjust the Input volume slider under Input settings, retesting as you go. | Windows 11 |
| Raise a quiet microphone, older layout | Settings → System → Sound → Input → Device Properties → the Levels tab | Microsoft’s Windows 10 instructions put Microphone and Microphone Boost sliders here. OBS Studio’s own guide adds a useful trick for this dialog: right-click the percentage value and choose decibels, then aim for about 0.0 dB for the least clipping. | Windows 10 |
| Run the built-in troubleshooter | Settings → System → Sound → Advanced → Troubleshoot common sound problems → Input devices | Microsoft lists All sound devices under Advanced for further options. | Windows 11 |
| Reinstall the audio driver | Right-click Start → Device Manager → Sound, video and game controllers | Uninstall device with “Attempt to remove the driver for this device” ticked, restart, then Scan for hardware changes and Update driver if Windows does not do it itself. | both |
When Windows hears you and Chrome does not
A concrete and very common shape. Windows’ own microphone test under Settings → System → Sound →
Input records and replays your voice perfectly. This page, in Chrome, rejects with
NotAllowedError. The obvious reading is that Chrome is blocked for this site — but the
masking rule above says that error is also what a missing device looks like once a block exists, so
it is not yet conclusive.
The sequence that resolves it: clear the site permission in the address-bar controls and reload. Now
the browser will report honestly. If it prompts and then works, the block was the whole story. If it
prompts and rejects with NotReadableError, another application holds the device — and
the fact that Windows’ own test worked is evidence for that, because closing the Settings page frees
the device it was holding. If it rejects with NotFoundError, the browser is being denied
at the OS layer, which is the Privacy & security path in the table above.
Splitting hardware from software in three swaps
- Second browser. Same microphone, different browser. Works there → the first browser’s permission. Fails in both → below the browser.
- Second port. A USB port that cannot power a device is indistinguishable from a dead device, and front-panel ports on desktops are the usual offenders.
- Second device. Select the machine’s built-in microphone in the picker above. If it works and the external one does not, nothing is wrong with the PC.
Once the microphone opens, the remaining question is usually about level: a device that works but is far too quiet reads as broken to everyone on the call. The quiet-microphone page turns that into a number in decibels, and if a specific app is still silent while this page is not, the Discord and Zoom pages list the in-app settings that produce silence with working hardware.