Speech to text on a Mac, running locally
What "local" actually means, which models run on Apple Silicon, the latency to expect, and the constraints that apply.
Local speech to text means the model runs on your own machine and the audio is never uploaded. On an Apple Silicon Mac that is no longer a compromise on speed: there is no upload and no server round trip, nothing depends on your connection, and for everyday dictation the text lands in well under a second.
There are two real trades. A server can run a larger model than a laptop holds, though for everyday speech the on-device models are accurate enough that the gap is not what you notice. And a cloud service that transcribes while you are still talking can finish a long dictation sooner than we do, because by default we start when you stop. For the short bursts most dictation actually consists of, the upload and the round trip cost more than they save.
What "local" means, precisely
The word gets used loosely. Three different things travel in a dictation app, and they have different answers.
| What travels | Where it goes |
|---|---|
| Your audio | Never off the Mac, whatever else you turn on. On disk it does touch down: while you dictate, the app keeps an encrypted backup of the recording, so a crash has something to recover from rather than losing the words outright. Deletion is requested once the text is safely saved. If the app quits first, one recovery attempt runs at next launch, and deletion is requested whether that attempt succeeded or failed. You can switch that backup off, which is the privacy-strict choice. |
| The transcript | Stays on the Mac by default. If you deliberately choose a cloud provider for cleanup, exactly four things about you and your dictation reach it: the transcript, your custom words, the name of the app you are dictating into, and the dictation language if you have locked one. The last three are what let the model get your spellings and tone right. Alongside them go our cleanup instructions, which are the same text for every user and describe nothing about you, and your own API key, which is how that provider bills you. Text around your cursor is never included, and audio is never sent. Picking a hosted Ollama model sends the same four to Ollama with no key involved; an Ollama model you download runs on your Mac and sends nothing. Never anything to us on any route. |
| Usage telemetry | Anonymous usage and crash data: that a dictation happened, how long it took, which engine ran, which app it was pasted into, and your settings. Never the words you said. It is on by default and cannot be turned off; the source is public if you would rather build without it. |
Read the distinction on the second row carefully when comparing tools. "On-device transcription" and "nothing leaves your machine" are different claims, and the first is easy to read as the second. Check which one a tool is actually making, ours included: the row above is why we split it into three. Ours is the first: the audio claim holds unconditionally, the transcript claim does not, and the row above says exactly what a cloud provider receives. Full detail: what data is collected.
Which models run on the Mac
Parakeet TDT v3
The default. Runs on the Apple Neural Engine. Fastest of the two and the reason the median lands under a second. Covers 25 European languages, and you pick the language yourself: this engine does not detect it for you.
WhisperKit
Runs on the GPU. Slower than Parakeet, covers 99+ languages, and this is the one that detects the language automatically. Switch to it in settings when you need a language Parakeet does not carry, or when you move between languages without wanting to set one.
Both are downloaded once and then run with no network. Neither sends audio anywhere. The engine choice is a setting, not a purchase tier.
What latency to expect
A 30-day trailing median from production usage across real Apple Silicon Macs, measured 2026-08-21. Your own numbers will differ with chip and dictation length.
| Stage | Time | Notes |
|---|---|---|
| Release key to raw text | 0.61s median | Transcription only. Text is written after you stop talking, so a longer dictation takes longer. |
| Release key to cleaned text | ~1.65s | Adds on-device AI cleanup. This one scales with how much you said. |
Only the first row is the sub-second number. Cleanup is a separate step with its own cost, and it grows with length. Any tool quoting one figure for the whole path is quoting the wrong thing. By default the text arrives after you stop talking. An optional Faster Transcription mode does the transcription work while you are still speaking, so the finished text arrives sooner once you stop. It does not put text into your document mid-sentence. Seeing words as you speak is a separate setting, Live Preview, which draws a rough draft in the recording pill from a lighter engine and throws it away at the end; it never changes the text that gets pasted. We recommend leaving Faster Transcription off on the default Parakeet engine, because Parakeet stitches overlapping pieces together and the joins are where errors appear.
What works with no internet
Works offline
- Recording and transcription, both engines
- Filler word removal
- Numbers, dates, money, emails, URLs, and spoken punctuation formatted correctly, when you are dictating in English. These share one step and it is skipped for other languages
- Spoken emoji
- Custom vocabulary correction
- Cleanup with our own on-device model, or with S1-mini by Superwhisper, or with Apple Intelligence on macOS 26 and later, or with a local Ollama model
Needs a connection
- Cleanup routed to a cloud provider, if you chose one
- The first download of a model file
- App updates
If cleanup is unavailable for any reason, you still get the deterministically cleaned transcript rather than raw output. The formatting steps above run before cleanup, so they survive it failing.
Constraints
- Apple Silicon only. M1 or later. There is no Intel build and there will not be one; the speed comes from the Neural Engine.
- macOS 14 Sonoma or later. Core dictation works across that whole range.
- Apple Intelligence cleanup needs macOS 26. Third-party apps could not call the on-device model before that. Apple Intelligence is also the shipped default, so on macOS 14 to 25 the cleanup step is skipped silently and you get the deterministically cleaned text rather than raw output. There is no automatic fallback: to get AI cleanup below macOS 26 you pick EG-1, S1-mini by Superwhisper, a local Ollama model, or your own provider key yourself.
- No Windows, Linux, iOS, or Android version. If you need those, Handy is free, open source, and cross-platform.
- One file at a time, no subtitles. EnviousWispr turns an audio or video recording into readable text. For subtitle export and batch folders, MacWhisper is built for that job.
Versus the dictation already in macOS
macOS ships with dictation. It is free and it is already installed, so it is the right baseline to beat.
| Apple Dictation | EnviousWispr | |
|---|---|---|
| Runs on device | General text dictation can, depending on language and settings | Always, both engines |
| Session limit | Stops after 30 seconds with no detected speech | Up to 60 minutes |
| Removes filler words | No | Yes, automatic |
| Rewrites awkward phrasing | No | Yes, optional AI cleanup |
| Custom vocabulary | Not supported | Yes, with imports from other apps |
For a sentence here and there, the built-in one is fine and needs no install. The case for a dedicated tool is frequency: the 30-second cutoff and the lack of cleanup are what wear out when you dictate all day. Full breakdown: EnviousWispr vs Apple Dictation.
Common questions
Does local speech to text work without an internet connection?
Yes, once the model files are downloaded. Recording, transcription, and filler removal run on the Mac with no network. Number and date formatting also runs offline, but only when you are dictating in English. Cleanup is the one step that can need a connection, and only if you point it at a cloud provider or a hosted Ollama model.
How fast is on-device speech to text on Apple Silicon?
Transcription lands in about 0.61 seconds median, a 30-day trailing median taken from production usage across real Apple Silicon Macs rather than one test machine. Optional on-device cleanup adds roughly a second, for about 1.65 seconds from release to pasted text. Cleanup time scales with how much you said.
What is the difference between local speech to text and cloud speech to text?
Local means the model runs on your machine and the audio is never uploaded. Cloud means the audio is sent to a server for processing. Local removes the network round trip and the upload, and it keeps working offline. Cloud services can run larger models than a laptop holds.
Free, open source, no account
GPLv3. No subscription, no word cap, no trial that expires. Apple Silicon, macOS 14 or later.
Comparing options? See the picks by use case or every head-to-head.