On-device speech recognition means the speech model runs on your own computer's chips, so your audio is turned into text without being uploaded to a speech server. Cloud recognition sends the audio to a provider's servers and returns text. On-device does not mean the app never uses the internet: the model has to be downloaded first, and apps may still check licences, fetch updates or send usage data. On a Mac, Apple documents on-device recognition both for its own Dictation and for developers using its Speech framework.
What actually happens on the device?
Local speech to text follows the same steps as cloud recognition. The difference is where they run.
| Step | On-device | Cloud |
|---|---|---|
| Capture | Microphone audio is recorded into memory on your Mac | Same |
| Model | A model file stored on your disk is loaded into memory | The model lives on the provider's servers |
| Recognition | Runs on your CPU, GPU or Neural Engine | Audio is uploaded; recognition runs remotely |
| Result | Text is produced on your Mac | Text is sent back over the network |
| Needs a connection while dictating | No, once the model is present | Yes |
| Limits | Your Mac's memory and speed | The provider's limits and terms |
On Apple Silicon, open-source runtimes say which chip does the work. The whisper.cpp README says "On Apple Silicon, the inference runs fully on the GPU via Metal," with optional Core ML to run the encoder on the Apple Neural Engine. Argmax's WhisperKit describes itself as one of a "collection of turn-key on-device inference frameworks." How speech recognition works explains what the model itself does.
What does Apple document about on-device recognition?
For people using Dictation. Apple's Mac User Guide for macOS 14 says: "On a Mac with Apple silicon, Dictation requests are processed on your device for supported languages—no internet connection is required." It adds that "When you dictate on an Intel-based Mac or in a language that doesn't support on-device dictation, your dictated utterances are sent to Apple," and that in a search box, "dictated text may be sent to the search provider." The current guide for macOS 27 tells you instead to check Keyboard settings "to see whether your voice inputs and transcripts for general text Dictation ... are processed on your device and not sent to Siri servers." Apple's feature availability page lists the languages for "On-Device and Modeless Dictation" with the note "Requires download of speech models." Is Mac Dictation private? walks through the setting.
For developers. Apple's Speech framework documentation is precise about the network:
supportsOnDeviceRecognition"indicates whether the speech recognizer can operate without network access." If it is false, "the SFSpeechRecognizer requires a network in order to recognize speech."requiresOnDeviceRecognitionlets an app "prevent an SFSpeechRecognitionRequest from sending audio over the network." Apple adds: "However, on-device requests won't be as accurate."- The SFSpeechRecognizer page says "For some languages, the recognizer might require an Internet connection," and, describing server use, plans for "a one-minute limit on audio duration."
- From macOS 26, the newer SpeechAnalyzer API uses models that AssetInventory describes as "machine-learning models downloaded from Apple's servers and managed by the system." Once downloaded, "the system retains and updates it automatically, and shares it with other apps."
- Its DictationTranscriber "uses the same speech-to-text machine learning models as system dictation features do, or as SFSpeechRecognizer does when it is configured for on-device operation," and "does not support languages or locales that SFSpeechRecognizer only supports via network access."
Two lessons follow. Even Apple's on-device recognition starts with a model download. And an app built on Apple's framework only stays local if the developer asks for it and your language supports it.
What still uses the network in a typical local dictation app?
Local recognition answers one question: where does the audio become text? A dictation app can make other connections that have nothing to do with recognition.
| Network use | Typical purpose | Carries your audio? |
|---|---|---|
| Model download | Fetching the speech model on first setup or when you switch models | No, it is a download |
| Account or licence check | Confirming you have paid | Should not, but ask the vendor |
| App updates | Checking for and downloading new versions | No |
| Usage or crash data | Telling the developer how the app is used or why it failed | Ask what fields are sent |
| Optional cloud formatting or AI rewrite | Sending the transcript text to a language model for cleanup | Usually the text, sometimes more; check |
| The app you dictate into | Your email, notes or documents may sync to their own cloud | Your finished text, under that app's terms |
Does on-device dictation mean no internet? goes through these one by one, and Where does my dictation go? lists the questions to ask a vendor.
How do you verify that recognition is local?
- Read the settings. For Apple Dictation, open System Settings → Keyboard → Dictation and read the text under the setting (wording from the macOS 27 guide; if your screen differs, search System Settings for "Dictation"). For other apps, look for any cloud, online or "enhanced" recognition option and note whether it is on.
- Download the model while connected. Then quit and reopen the app.
- Turn Wi-Fi off and unplug Ethernet. Dictate a fictional sentence: "Send the 12 May note to Dana Ruiz, not Dan Reese." If text appears, recognition ran locally.
- Watch the network. In Activity Monitor, click Network; Apple's Activity Monitor guide describes the packets and data totals shown at the bottom of the window. Reconnect, dictate again and see whether the app's network figures move while you speak.
- Repeat after updates. A new version can change behaviour.
A working offline test proves the recognition path. It does not tell you what the app sends when it is online; for that, ask the vendor or inspect the traffic with a tool you trust.
How does SuprFlow handle this?
SuprFlow 1.0.0 runs speech recognition on the Mac with a downloaded WhisperKit (Whisper) model, offered in Small and Medium, multilingual and English-only. Its Default formatting is local cleanup of punctuation, capitalization and numbers. An optional Cloud API formatting mode sends the transcript text, not the audio, to the provider you configure. Account and licence checks, model downloads, app updates and usage telemetry are separate network traffic, so SuprFlow is local speech, not a no-network app. SuprFlow offline licence grace covers how long it keeps working without a connection.
Questions people ask
Is on-device speech recognition less accurate than cloud?
Sometimes. Apple's developer documentation says that when an app forces on-device recognition with its older SFSpeechRecognizer API, "on-device requests won't be as accurate." For other models it depends on the model, not where it runs: a large model on your Mac can beat a small cloud one. Test on your own voice.
Does Apple Dictation work offline on a Mac?
Apple's macOS 14 guide says that on Apple silicon, Dictation is processed on device for supported languages with "no internet connection is required." On current macOS, check Keyboard settings, which tell you whether your dictation is processed on the device.
Does on-device mean private?
It means the audio is not sent to a speech server for recognition. Privacy also depends on what else the app sends, what it stores locally, and where the app you dictate into syncs your text.
Do I need the internet to set up local speech to text?
Usually yes, once. Apple's on-device dictation and its developer models need a speech-model download, and local-model apps download their model on first setup.
Related guides
- Does on-device dictation mean no internet?
- Where does my dictation go?
- Is Mac Dictation private?
- Voice to text without internet on Mac
- How speech recognition works
- Local vs cloud formatting
Sources
- Apple — Mac User Guide: Dictate messages and documents (macOS 27)
- macOS 14 edition
- Apple — macOS feature availability
- Apple Developer — Speech framework
- Apple Developer — SFSpeechRecognizer
- supportsOnDeviceRecognition
- requiresOnDeviceRecognition
- Apple Developer — SpeechAnalyzer
- AssetInventory
- DictationTranscriber
- Apple — Activity Monitor User Guide: View network activity
- ggml-org — whisper.cpp GitHub repository and README
- Argmax — argmax-oss-swift (WhisperKit) GitHub repository and README