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

1

Press the hotkey

Fn + Option anywhere in macOS. OpenWispr starts listening.

2

Talk

Moonshine transcribes as you speak. On your CPU. No network.

3

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

  1. Download the latest OpenWispr-<version>.zip from GitHub Releases.
  2. Unzip and drag OpenWispr.app to /Applications.
  3. Right-click → Open the first time (the build is unsigned; this is a one-time Gatekeeper acceptance).
  4. Grant permissions when prompted: Microphone and Accessibility. That's all OpenWispr needs.
  5. 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