Question · Dictation in your apps
Which browsers support speech recognition?
Chrome and Edge support the Web Speech API's speech recognition most broadly. Safari supports it only for visitors who have Siri turned on, and Firefox has no numbered stable release that supports it, so give Firefox users a typed fallback.
Updated October 17, 20263 min read9 cited facts, each traced to its source
Chrome and Edge support speech recognition in a web page most broadly 1. Safari supports it too, but only for visitors who have Siri turned on 2. Firefox has no numbered stable release that supports it 3. So if your page depends on speech, build a typed fallback for Firefox users and for any Safari visitor without Siri.
"Speech recognition" here means the browser feature behind the SpeechRecognition interface of the Web Speech API. It is not the same as dictation in a Google Doc or a Word file, which is a separate feature. The guide to the Web Speech API covers the interface itself, and the overview of dictation in apps covers the features built into the apps you already use.
Chrome and Edge have the broadest support
MDN's compatibility record lists Chrome's unprefixed SpeechRecognition from version 139, and its webkit-prefixed name from version 33 1. Edge's entry mirrors Chrome's 4, so the two are listed with the same support. A page that works in Chrome will usually work in Edge, but you should still test it in both.
The prefix matters for old code. A page that asks only for the unprefixed name will fail in older Chrome releases, which is why the code in our JavaScript guide tries both names before it gives up.
Safari works only when Siri is on
MDN lists Safari's webkit-prefixed name from version 14.1 5. WebKit says that Safari users need Siri enabled in System Preferences on macOS, or Settings on iOS or iPadOS, for the API to be available 2.
That is a condition your page cannot change. A visitor with Siri turned off will not have the API, so your page should check for the feature and show a clear message instead of a button that does nothing. WebKit's 2021 announcement also described the transcription as covering "over 50 languages and dialects" 6. That is a 2021 statement, so check the languages you need against Apple's current documentation.
Firefox is the browser to plan around
MDN lists Firefox's support for the interface only as preview 3. MDN uses that value when a browser's future stable version number is not known 7. A January 2022 revision of Mozilla's own wiki said that Chrome, Edge, Safari and Opera supported the speech-to-text form of the API, but Firefox did not 8.
That wiki revision is older than the MDN record, so use the MDN record for current status. Neither source shows a stable Firefox release that you can count on, so treat Firefox as unsupported for any feature you cannot afford to lose.
It depends: the browser version, the setting and the visitor
- Browser version. The support entries are per version. A visitor on an older Chrome release may see only the prefixed name.
- Siri on Safari. The setting belongs to the visitor, and a page cannot turn it on for them.
- Microphone permission. Even in a supported browser, the visitor must allow the microphone for your site. Chrome asks for that choice when the page first wants the microphone, with the options Allow, Allow this time and Never allow 9. A visitor who chooses Never allow will see the page fail until they change the setting.
What to do
- Check for the feature before you show a button. Look for
SpeechRecognitionandwebkitSpeechRecognition, and fall back to a text box if neither exists. - Test in Chrome, Edge and Safari. In Safari, test once with Siri on and once with Siri off.
- Plan the Firefox fallback. Users there should get a text box, not a silent failure.
- Recheck the support record before each release. The MDN entries change as browsers ship, so the table in this answer may be out of date by the time you read it.
- Use the right tool for the job. If you need dictation in apps other than a web page you build, Yap, which we make, runs on Mac and Windows. For free dictation in a browser with no code, see online dictation.
For the offline behavior of Chrome's built-in options, read whether Chrome can do speech to text offline. For the privacy question, read whether the Web Speech API sends audio to Google. The glossary entry for the Web Speech API explains the names this answer uses.
Evidence
Every number on this page, with where it comes from. Open a fact to see the exact words in its source.
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
Go deeper
Related questions
- Can Whisper run in the browser?
- Does the Web Speech API send audio to Google?
- How do you add speech recognition to a website with JavaScript?
- Can Chrome do speech to text offline?
- Can Google Docs transcribe an audio file?
- Can Microsoft Word transcribe an audio file?
- Can OneNote transcribe audio?
- Can you control Linux with voice commands?
Referenced by
- Voice Typing in Google Docs, Word and Every Other AppTopic
- Does the Web Speech API send audio to Google?Question
- How do you add speech recognition to a React or React Native app?Question
- How do you add speech recognition to a website with JavaScript?Question
- Why does speech recognition show a network or not-allowed error?Question