open-wispr.com
Local, private voice dictation for macOS. Hold a key, speak, release — your words appear at the cursor.
Everything runs on-device. No audio or text ever leaves your machine.
Powered by whisper.cpp with Metal acceleration on Apple Silicon.
curl -fsSL https://raw.githubusercontent.com/human37/open-wispr/main/scripts/install.sh | bashThe script handles everything: installs via Homebrew, walks you through granting permissions, downloads the Whisper model, and starts the service. You'll see live feedback as each step completes.
A waveform icon appears in your menu bar when it's running.
The default hotkey is the Globe key (🌐, bottom-left). Hold it, speak, release.
Full installation guide — permissions walkthrough with screenshots, non-English macOS instructions, and troubleshooting.
curl -fsSL https://raw.githubusercontent.com/human37/open-wispr/main/scripts/uninstall.sh | bashThis stops the service, removes the formula, tap, config, models, app bundle, logs, and permissions.
Edit ~/.config/open-wispr/config.json:
{
"hotkey": { "keyCode": 63, "modifiers": [] },
"modelSize": "base.en",
"language": "en",
"spokenPunctuation": false,
"maxRecordings": 0
}Then restart: brew services restart open-wispr
| Option | Default | Values |
|---|---|---|
| hotkey | 63 |
Globe (63), Right Option (61), F5 (96), or any key code |
| modifiers | [] |
"cmd", "ctrl", "shift", "opt" — combine for chords |
| modelSize | "base.en" |
See model table below |
| language | "en" |
Any ISO 639-1 code — e.g. it, fr, de, es |
| spokenPunctuation | false |
Say "comma", "period", etc. to insert punctuation instead of auto-punctuation |
| maxRecordings | 0 |
Optionally store past recordings locally as .wav files for re-transcribing from the tray menu. 0 = nothing stored (default). Set 1-100 to keep that many recent recordings. |
Larger models are more accurate but slower and use more memory. The default base.en is a good balance for most users.
| Model | Size | Speed | Accuracy | Best for |
|---|---|---|---|---|
tiny.en |
75 MB | Fastest | Lower | Quick notes, short phrases |
base.en |
142 MB | Fast | Good | Most users (default) |
small.en |
466 MB | Moderate | Better | Longer dictation, technical terms |
medium.en |
1.5 GB | Slower | Great | Maximum accuracy, complex speech |
large |
3 GB | Slowest | Best | Multilingual, highest accuracy (M1 Pro+ recommended) |
Non-English languages: Models ending in
.enare English-only. To use another language, switch to the equivalent model without the.ensuffix (e.g.base.en→base) and set thelanguagefield to your language code. Multilingual models are slightly less accurate for English but support 99 languages.
If the Globe key opens the emoji picker: System Settings → Keyboard → "Press 🌐 key to" → "Do Nothing"
Click the waveform icon for status and options. Recent Recordings lists your last recordings; click one to re-transcribe and copy the result to the clipboard.
| State | Icon |
|---|---|
| Idle | Waveform outline |
| Recording | Bouncing waveform |
| Transcribing | Wave dots |
| Downloading model | Animated download arrow |
| Waiting for permission | Lock |
Click the menu bar icon to access Copy Last Dictation — recovers your most recent transcription if you dictated without a text field focused.
| open-wispr | VoiceInk | Wispr Flow | Superwhisper | Apple Dictation | |
|---|---|---|---|---|---|
| Price | Free | $39.99 | $15/mo | $8.49/mo | Free |
| Open source | MIT | GPLv3 | No | No | No |
| 100% on-device | Yes | Yes | No | Yes | Partial |
| Push-to-talk | Yes | Yes | Yes | Yes | No |
| AI features | No | AI assistant | AI rewriting | AI formatting | No |
| Account required | No | No | Yes | Yes | Apple ID |
open-wispr is completely local. Audio is recorded to a temp file, transcribed by whisper.cpp on your CPU/GPU, and the temp file is deleted. No network requests are made except to download the Whisper model on first run. Optionally, you can configure open-wispr to store a number of past recordings locally via the maxRecordings setting. Those recordings stay private and on your machine, and we default to not storing anything.
git clone https://github.com/human37/open-wispr.git
cd open-wispr
brew install whisper-cpp
swift build -c release
.build/release/open-wispr startopen-wispr is free and always will be. If you find it useful, you can leave a tip.
MIT