Speech-recognition browser support
Voice dictation in the browser uses the Web Speech API's SpeechRecognition interface. Support is uneven, and the headline gap is Firefox, which keeps it disabled by default.
This is part of the reference hub. Browser dictation uses the Web Speech API, specifically the SpeechRecognition interface (exposed as webkitSpeechRecognition in Chromium and WebKit browsers). Recognition usually requires a network connection and microphone permission.
Support matrix
| Browser | SpeechRecognition |
Notes |
|---|---|---|
| Chrome (desktop) | Yes | Prefixed as webkitSpeechRecognition; reliable |
| Edge | Yes | Chromium-based; same support |
| Safari (macOS / iOS) | Partial | Prefixed; from Safari 14.1 (macOS) / 14.5 (iOS); routes audio to Apple, behavior less consistent |
| Firefox | Off by default | Behind the dom.webspeech.recognition.enable flag; not available to end users out of the box |
| Chrome (Android) | Yes | Works with mic permission |
Feature detection
Because the interface is prefixed in most browsers, detect it before showing a dictate control:
const Recognition = window.SpeechRecognition || window.webkitSpeechRecognition;
if (!Recognition) {
// No support (e.g. Firefox) — fall back to typing
}
What this means in practice
- Offer a typing fallback always. Firefox users have recognition off by default, so the dictate button won't work for them out of the box. The typed path must produce the same result.
- Expect cloud round-trips. Recognition commonly streams audio to a server, so it needs connectivity and can drop mid-session.
- Don't block the workflow on voice. Dictation is a convenience layer; see dictation isn't working for the user-facing troubleshooting version of this table.
Support reflects current stable browser versions as of 2026.
Frequently asked questions
Why doesn't dictation work in Firefox?
Firefox keeps SpeechRecognition disabled by default. The interface sits behind the dom.webspeech.recognition.enable flag in about:config, so it isn't available to end users out of the box. Use Chrome or Edge for voice, or type.
What's the difference between SpeechRecognition and webkitSpeechRecognition?
They're the same interface; webkitSpeechRecognition is the vendor-prefixed name that Chromium and WebKit browsers expose. Code that wants broad support checks for both: window.SpeechRecognition || window.webkitSpeechRecognition.
Is recognition done on-device or in the cloud?
In most browsers it streams audio to a server for transcription, so it generally needs an internet connection and results can stop on a dropped connection.
Capture your first review.
About a minute from open tab to a shareable URL your agent can ingest.
Start capturing