You can run voice dictation completely offline on a modern Mac in under 10 minutes - no internet, no API keys, no cloud services. This guide walks through the three real options (built-in macOS, local Whisper via Parrot, and CLI Whisper), what each one is good at, and the step-by-step setup so your audio never leaves your machine.
Why offline dictation matters
Offline (also called "local-first" or "on-device") dictation means your microphone audio is transcribed on your own computer instead of being uploaded to a server. The benefits compound:
- Privacy. Audio with names, financials, medical details, or trade secrets never leaves your device.
- Reliability. Works on planes, in cafes with bad Wi-Fi, and during outages.
- Latency. No network round-trip means transcription can start the instant you stop talking.
- Cost. No per-minute API charges. Speak as much as you want.
The shift to on-device speech is recent but real: Apple moved Siri's speech recognition fully on-device starting iOS 15 in 2021, and the open-source Whisper model that ships with most local dictation apps was trained on 680,000 hours of multilingual audio. Both make today's local-first stack genuinely competitive with cloud APIs.
What you need
- A Mac with Apple Silicon (M1 or newer recommended).
- ~2-5 GB of disk space (depending on which Whisper model you choose).
- About 8 GB of free RAM during transcription.
- 10 minutes.
Intel Macs work too, but expect slower transcription on the larger models.
Option 1: Parrot (recommended for most people)
Parrot is the fastest path to a fully offline dictation workflow with a real UI. You get a global hotkey, on-device Whisper transcription, custom vocabulary, and AI cleanup that can also run locally.
Setup:
- Download Parrot and drag it to Applications.
- Open Parrot. Grant microphone and accessibility permissions when prompted.
- In the setup wizard, choose Local. Parrot downloads the Whisper model the first time you use it.
- Pick a hotkey (default is fn).
- Press the hotkey, speak, release. Your transcript pastes wherever your cursor is.
That's the entire setup. No API keys, no terminal, no Python environment. To verify it's truly offline, turn off Wi-Fi and try again - it should still work.
Option 2: macOS built-in Dictation
On Apple Silicon, macOS Dictation runs on-device by default. It's free, already installed, and a reasonable baseline.
Setup:
- Open System Settings → Keyboard → Dictation.
- Toggle Dictation on.
- macOS will download the offline language pack (one-time, ~500 MB).
- Set a shortcut (default: press Globe key twice, or Fn key twice).
- Place your cursor in any text field, trigger the shortcut, and speak.
What you give up: no AI cleanup, no custom vocabulary, no transcription history. Filler words and casual speech patterns make it through unchanged. Fine for quick notes; frustrating for real work.
Option 3: Whisper via the command line
If you're comfortable in the terminal and want maximum control, running Whisper directly is an option. The fastest way to do this on Mac is whisper.cpp, a C++ port that runs the same model OpenAI released, with Metal acceleration that uses the M-series Neural Engine. You'll trade convenience for flexibility.
Setup with whisper.cpp:
- Install whisper.cpp — grab a release from the whisper.cpp GitHub releases or build from source. If you already have a package manager,
brew install whisper-cppworks too. - Download a model (small, medium, or large). Larger = more accurate, slower.
- Record audio with any tool (e.g.
soxor QuickTime). - Run
whisper-cli -m model.bin -f recording.wav.
What you give up: no global hotkey, no clipboard paste, no menu-bar UI. To get a real dictation workflow, you'd need to script around it - which is exactly what apps like Parrot already do for you.
Choosing a model size
| Model | Size | Speed (M2) | Best for |
|---|---|---|---|
| tiny | ~75 MB | Real-time | Quick notes, casual use |
| base | ~150 MB | Real-time | Everyday dictation |
| small | ~500 MB | ~1.5x real-time | Most users - good balance |
| medium | ~1.5 GB | ~3x real-time | Technical content, accents |
| large | ~3 GB | ~5x real-time | Maximum accuracy, batch jobs |
Troubleshooting offline dictation
- Microphone not detected: System Settings → Privacy & Security → Microphone, ensure your dictation app is enabled.
- First-press delay: the model loads into memory on first use. Keep the app running to avoid the warm-up.
- Inaccurate technical terms: add them to your custom vocabulary list. This is where dedicated apps beat the built-in option.
- Slow on Intel Macs: drop down to the small or base model. The accuracy gap is smaller than you'd expect.
Verifying you're truly offline
A simple test: turn off Wi-Fi and disconnect Ethernet, then try to dictate. If text still appears, transcription is happening locally. If you get an error or hang, the app is silently calling a cloud API and isn't actually local-first.
The bottom line
Offline voice dictation in 2026 is no longer a hacky workaround - it's a first-class workflow. For most people, Parrot's local mode is the right starting point: private by default, no setup beyond the install, and feature-parity with cloud dictation.
Download Parrot and dictate without the cloud.
