Speak.
The text appears
where your cursor is.
Free, open source, fully on-device dictation for macOS.
No accounts. No keys. No data leaves your Mac.
macOS 13 or later · Apple Silicon & Intel · MIT licensed
How it works
Press the hotkey
Fn + Option anywhere in macOS. OpenWispr starts listening.
Talk
Moonshine transcribes as you speak. On your CPU. No network.
Stop and paste
Press the hotkey again. The transcript appears at your cursor in whatever app you're in.
Your voice stays on your Mac.
We don't promise not to send your audio anywhere. We made it architecturally impossible.
No network code
The dictation path has zero URLSession calls, zero HTTP, zero sockets. Verify it yourself with grep.
No telemetry
No analytics SDK. No "anonymous usage data." No crash reporters that phone home. The app has nothing to phone with.
Model runs locally
The speech-to-text model ships with the app and runs on your CPU. Internet off? OpenWispr still works.
No accounts
No sign-in. No license server. No "free tier vs. pro tier" — there's just one tier and it's free.
MIT licensed
Read every line. Audit every line. Fork it. Sell a derivative. You own what runs on your machine.
Don't take our word for it — verify in three minutes:
git clone https://github.com/seeknull/openwispr.git
cd openwispr
grep -r "URLSession\|http://\|https://" Sources/
The only matches are a link to this repo in the About window. The transcription path touches nothing but local files and your microphone.
What you get
⚡ Fast
Powered by Moonshine — ~5× faster than Whisper at comparable accuracy. Built for live dictation, not 30-second batches.
⌨️ Works everywhere
Editor, terminal, Slack, Gmail, Notes, browser address bar — anywhere your cursor blinks, OpenWispr can type.
🪶 Tiny
Pure Swift. No Electron. No Python runtime. ~50 MB of binary plus the model file you pick.
🎛 Configurable insertion
Clipboard paste (fast, universal) or synthesized keystrokes (no clipboard interference). Choose per-task.
🧪 Self-test built in
OpenWispr checks every subsystem on launch and shows a colored menu bar icon. No more "is it broken?" guessing.
📜 MIT license
Use it commercially. Fork it. Ship derivatives. Just keep the copyright notice. That's the whole deal.
Install
-
Download the latest
OpenWispr-<version>.zipfrom GitHub Releases. -
Unzip and drag
OpenWispr.appto/Applications. - Right-click → Open the first time (the build is unsigned; this is a one-time Gatekeeper acceptance).
- Grant permissions when prompted: Microphone and Accessibility. That's all OpenWispr needs.
- Press Fn + Option anywhere, talk, press again. Text appears at the cursor.
Want to build from source instead? See the README.
Common questions
Is OpenWispr really free?
Yes. MIT-licensed, no upsell, no paid tier. There is no business model.
How is this different from macOS's built-in dictation?
Apple's dictation is good for short phrases but ships per-app limits, has a server fallback on older Macs, and isn't open source. OpenWispr runs the same regardless of network state, supports arbitrarily long sessions, and you can audit the audio path.
What model does OpenWispr use?
Moonshine, an English-first speech-to-text family from Moonshine AI. The default build ships medium-streaming-en (~280 MB) which is comparable to Whisper Large V3 in accuracy at a fraction of the size and latency.
Does it work offline?
Completely. Pull the ethernet cable, turn off Wi-Fi — OpenWispr keeps working. The model is on your disk.
What languages are supported?
The default bundled model is English. Moonshine also has Spanish, Mandarin, Japanese, Korean, Vietnamese, Ukrainian, and Arabic models. Multi-language model selection in-app is on the roadmap.
Can I rebind the hotkey?
Not yet — it's hard-coded to Fn+Option in v0.1. Rebinding is on the roadmap for v0.2.
Why does OpenWispr need Accessibility permission?
Two reasons: (1) to paste or type the transcript into the focused app, and (2) to observe the Fn+Option hotkey via NSEvent.addGlobalMonitorForEvents. We deliberately don't use the more invasive Input Monitoring permission.
Is OpenWispr available on Windows / Linux?
Not today. The codebase is macOS-only. Cross-platform isn't on the immediate roadmap.
I'd like to contribute.
Wonderful. The codebase is ~1800 lines of Swift, well-commented. See CONTRIBUTING.md. Issues and PRs welcome on GitHub.
Stop typing. Start talking.
Download OpenWispr — it's free.
Download for macOS