OpenWispr
Star Download
Docs · macOS

Getting started on macOS

A menu-bar app with no Dock icon. Hold the globe key, speak, release. Two system permissions, one of which needs a manual trip through Gatekeeper first.

OpenWispr/Docs/Getting started · macOS
Requirements

What your Mac needs

macOS 13.3 (Ventura) or later, on Apple Silicon or Intel. The deployment target is pinned at 13.3 because that is the minimum OS of the whisper.cpp framework the app links against, so it is a hard floor rather than a conservative choice.

The app runs as a menu-bar agent: it has no Dock icon and no main window. It is also deliberately not sandboxed, because an app inside the App Sandbox cannot drive the text fields of other applications through the Accessibility API, which is the entire mechanism by which dictated text gets inserted.

Install

Install, and the first-launch block

Download the .dmg from the latest GitHub release, open it, and drag OpenWispr into Applications. The disk image is small — a few megabytes — because it contains no models; those are downloaded on demand once the app is running.

The build is self-signed and not notarized, so Gatekeeper will refuse to open it the first time. This is expected and it is stated plainly rather than papered over. Either right-click the app and choose Open, then confirm once, or clear the quarantine attribute from a terminal:

  • xattr -dr com.apple.quarantine /Applications/OpenWispr.app
  • Prefer to build it yourself? The macOS project is generated by XcodeGen: install it once with brew install xcodegen, then run ./generate.sh in macos/App and open the resulting Xcode project.
Permissions

What macOS will ask for

Two permissions matter, one is conditional, and one is offered but never blocks anything.

PermissionWhenWithout it
MicrophoneAlways, at first useNothing can be recorded.
Accessibility
System Settings → Privacy & Security → Accessibility
Always — it is the hard requirement for inserting text into other appsThe app cannot type into the focused field.
Speech RecognitionOnly if you choose the Apple Speech engineApple Speech cannot run. The on-device Parakeet and Whisper engines do not need it.
Input MonitoringSurfaced in the setup UINothing. It is explicitly optional and never gates the dictation flow.
Using it

The globe key, or a shortcut you pick

There are two ways to start a session, and the fn/globe key is the default because it needs no combination to remember.

The app can also start itself at login, through macOS's own login-items mechanism.

  • Fn key. Hold the 🌐/fn key and talk; release to insert. The hold has to last at least 0.22 seconds to count, which is what stops an accidental brush from opening a session. Double-tap it within 0.30 seconds — or give it one quick tap — and the session latches hands-free, ending when you tap again or when you pause.
  • Custom shortcut. Record any global key combination instead. Unlike the fn key, this one toggles: press to start, press again to stop.
Engines

Three speech engines, not two

This is the largest difference between the two platforms and it is worth knowing before you compare them. The Mac app offers three speech backends where Android offers two, and its Whisper models are the English-only variants rather than the multilingual ones Android downloads.

A fresh install defaults to Parakeet for speech and to OpenWispr's own cleanup fine-tune for polish, at the Full polish level. The Whisper default, if you switch to it, is base.en.

EngineNotesModel sizes
Parakeet (on-device, fastest)The default. The same sherpa-onnx Parakeet bundle Android uses.one bundle
Whisper (on-device)whisper.cpp, pinned to English. The .en models are smaller and more accurate for English than the multilingual builds.tiny.en ~75 MB · base.en ~142 MB · small.en ~466 MB
Apple SpeechApple's own Speech framework, on-device where the system supports it. Nothing to download, but it needs the Speech Recognition permission.none
Engines

Polish models on the Mac

The polish stage runs llama.cpp with Metal. Three models are offered, and the first is the default and the recommended one:

ModelSize
OpenWispr Cleanup — the project's own Qwen3-0.6B fine-tune for dictation cleanup~396 MB
Qwen2.5 0.5B Instruct (fastest)~491 MB
Qwen2.5 1.5B Instruct (most accurate)~1.1 GB
Differences

Where the Mac app diverges from Android

The deterministic cleanup chain is a stage-for-stage port with identical constants, so the two platforms clean text the same way. Three differences are worth stating rather than leaving for you to discover:

The macOS app also has a voice-activity sensitivity setting that Android does not — Low, Medium or High, where a higher setting reads a pause as silence sooner and therefore stops the recording faster. Medium is the default and matches Android's fixed behaviour.

  • Whisper is English-only on the Mac. Android downloads the multilingual Whisper builds; macOS downloads the .en ones and pins decoding to English.
  • Code and terminal context is not applied to cleanup on the Mac. Android skips capitalisation and ambiguous spoken-punctuation expansion when you are dictating into an editor or a terminal. macOS detects the app for tone purposes but does not pass that flag into the cleanup chain, so it will still capitalise and still expand a spoken "dot" or "slash" in a terminal.
  • The Mac app has fewer skip conditions on the polish model. Android skips the model entirely for very short takes, for code context below the Full level, and when the deterministic stage has already produced line breaks. macOS gates only on the level being something other than Off and the model being present.
Questions

Good questions, honest answers.

Why does macOS say the app is damaged or from an unidentified developer? +
Because the build is self-signed and not notarized. Right-click the app and choose Open, confirm once, and macOS remembers. Alternatively run xattr -dr com.apple.quarantine /Applications/OpenWispr.app. This is a signing-status message, not a corruption message.
Which macOS versions are supported? +
macOS 13.3 (Ventura) and later, Apple Silicon or Intel. The floor comes from the whisper.cpp framework the app links, so it is not negotiable in the current build.
Why is there no window or Dock icon? +
It is a menu-bar agent by design. Settings and the dictation UI are reached from the menu-bar item.
Does the Mac app need to be un-sandboxed? +
Yes, for the feature it exists to provide. The Accessibility API cannot drive another application's text fields from inside the App Sandbox, so a sandboxed build could record and transcribe but could not insert.
Does the Mac app support cloud speech or cloud polish providers? +
No. Unlike Android, the macOS app stores no API keys at all and has no cloud provider option — its engines are Apple Speech, Whisper and Parakeet, all local, and its polish models are local GGUF files.
Can I use OpenWispr on Windows or Linux? +
No. There is no Windows, Linux or iOS build. Android and macOS are the two platforms that exist.
Read next
Models and device fit
Read next
Cleanup and polish
Read next
What leaves your device

Start dictating privately.

Open source and entirely on your device. Android from Google Play, macOS from GitHub — no account, no sign-up, just a download.

Download for macOS Get it on Google Play
OpenWispr Voice to text, on your device.
GitHub Docs Privacy Policy Features vs Wispr Flow vs superwhisper On-device Android dictation MIT © 2026