How to Use Voice Dictation on Mac: Built-in Tools and Third-Party Apps
The built-in option: macOS Dictation
Every Mac ships with a dictation engine. Open System Settings > Keyboard > Dictation and flip it on. Press the fn key (or globe key on newer keyboards) twice to start dictating into any text field.
On Apple Silicon Macs running macOS 14+, dictation runs on-device by default. On Intel Macs, audio is sent to Apple's servers — there's no way around it. The on-device engine handles English, Mandarin, Cantonese, Japanese, Korean, and Spanish; everything else still goes to the cloud.
What works well: zero cost, no install, decent accuracy for short bursts of English dictation. Punctuation commands ("period," "comma," "new paragraph") work reliably.
Where it falls short: sessions time out after about 60 seconds of silence, there's no custom vocabulary (it won't learn your coworkers' names or project-specific jargon), no history of past dictations, and no post-processing to clean up filler words or formatting. If you dictate into a code editor or terminal, it sometimes fights with autocomplete.
Siri Dictation vs. keyboard dictation
These are the same engine with different entry points. Siri Dictation activates when you hold the fn key; keyboard dictation activates on a double-press. Both feed into Apple's speech model. The practical difference: Siri Dictation shows a floating waveform indicator and can be used in any app, while keyboard dictation sometimes doesn't activate in apps that don't support Apple's text input protocol (like some Electron apps).
Neither offers offline transcription on Intel Macs. Neither lets you re-transcribe a past session. Neither applies text cleanup rules.
Third-party dictation apps
Three apps currently ship native Mac dictation with on-device engines:
WhisperJot ($99/year) runs two on-device engines — Parakeet for fast short utterances (~200ms latency on M1) and WhisperKit for long-form accuracy — plus an optional cloud engine (Jot v1) for machines that can't run the 2.3GB local model. It types into any focused app via a global hotkey, stores dictation history in a local SQLite database, and applies post-processing rules (custom vocabulary, text cleanup, optional local LLM formatting). Works on Mac, Windows, and Linux from the same $99/year plan.
Superwhisper ($8/month or $96/year) uses OpenAI's Whisper model on-device with multiple transcription modes. Mac-only, no cloud option, solid accuracy for English.
Wispr Flow (~$10/month) takes a different approach: it's cloud-only, sending audio to their servers for transcription, but adds context-aware AI rewrites that can match the tone of the app you're typing into. Mac-only, no offline mode.
Setting up a third-party app (WhisperJot as an example)
- Download the
.dmgfrom whisperjot.com/download and drag it to Applications - On first launch, grant three permissions when prompted: Microphone, Accessibility, and Input Monitoring (System Settings > Privacy & Security)
- The app downloads a ~2.3GB speech model on first use — this takes 2-5 minutes on a typical connection
- Press the default hotkey (customizable in settings) to start dictating; press again to stop
- Text appears in whatever app has focus
The permissions step trips people up most often. If dictation doesn't work after install, open System Settings > Privacy & Security > Input Monitoring and make sure WhisperJot has a checkmark. Rebuilding the app from source (if you're a developer) resets the TCC grant — you'll need to re-toggle it.
Which method to use
Use built-in dictation if you dictate less than 5 minutes a day, only need English, and never wish the transcription had gotten a name or term right that it keeps missing.
Use a third-party app if any of these apply: you dictate more than 30 minutes a week, you need custom vocabulary for names and jargon, you want a history of past dictations, you work offline regularly, or you need dictation on both Mac and another platform.
The $99/year for WhisperJot or ~$96/year for Superwhisper pays for itself in about two weeks of daily dictation, measured by time saved re-typing corrections that custom vocabulary would have caught.