Purr - Local voice-to-text for macOS
macOS 14+ · Apple Silicon · Free
Hold a key. Speak.
Your words type themselves.
Local voice-to-text dictation for macOS Apple Silicon. A free,<br>MIT-licensed alternative to paid commercial dictation apps, with no<br>telemetry and no cloud round-trips.
Download for Mac
View on GitHub
How it works
Three steps. No menus. No waiting.
The app sits in your menu bar. Trigger it from any text field.<br>Slack, Notes, Mail, Messages, anywhere.
Hold the hotkey
Right Option by default. Switch it to another built-in preset:<br>a bare modifier, a combo like ⌃⌥ Space, or a function key.
Speak naturally
Transcription runs entirely on the Apple Neural Engine,<br>on-device. Zero cloud round-trips, zero telemetry, zero waiting.
Release
Your transcript types straight into whichever app has focus,<br>word-by-word as you speak if you turn on Smart Typing.
Notes
Let’s ship the new onboarding flow this week.
Listening
Smart typing<br>Words type into the focused app as you speak.
Also: two engines (Parakeet v2 + WhisperKit) · custom dictionary · everything on-device.
FAQ
Before you download.
Does my audio leave my Mac?
No. Recording, transcription, and post-processing all happen<br>on-device (transcription runs on the Apple Neural Engine). Zero<br>telemetry, and zero network calls after the initial model<br>download.
Which mode is lowest-latency?
Parakeet (the default) with Smart Typing on, so words appear as<br>you speak instead of on key release. Whisper can’t match it<br>because it’s non-streaming.
What languages can I dictate in?
English with the default Parakeet engine. For other languages,<br>switch to WhisperKit in Settings › Engine. It<br>transcribes ~100 languages (auto-detected or pinned) and can<br>optionally translate them to English.
Does meeting mode record the other people on my call?
Yes. It captures your mic and your Mac’s system audio<br>together, so remote participants are transcribed too, still<br>entirely on-device. System-audio capture needs macOS 14.2+;<br>older systems record the mic only.
The mic icon isn’t visible in my menu bar.
On notched MacBooks the icon hides behind the notch when the menu<br>bar is crowded. Hold Command and drag to reorder, quit a few menu<br>bar apps, or use<br>Ice<br>/ Bartender to manage overflow.
How big is the model download?
Parakeet TDT v2 is ~450 MB, fetched automatically on first<br>launch. Whisper models range from ~140 MB (Tiny) to<br>~616 MB (Large V3 Turbo) if you switch engines.
Does it work without internet?
Yes, after the first model download. Everything runs on-device.
Can I change the hotkey?
Yes. Pick from a few built-in presets per feature in<br>Settings (e.g. Right Option, F5, or ⌃⌥ Space for dictation).<br>There’s no custom recorder yet, so keys outside the presets<br>can’t be assigned.
Can I use it in any app?
Any standard text field. Voice editing works in<br>Accessibility-supported fields (most native macOS apps); other<br>apps fall back to paste injection.
How do I update Purr?
Open the menu bar › About Purr and it checks GitHub<br>Releases automatically (or click “Check for Updates”).<br>A new version downloads, verifies its checksum, and relaunches in<br>place.
Why was I asked to grant permissions again after an update?
Either the bundle ID changed (e.g. you swapped in a different<br>fork) or you revoked a permission in System Settings. Re-grant<br>from the menu bar › Onboarding Setup.
About
Why I built this.
I type for a living. Most days my hands are on the keyboard for nine,<br>ten, twelve hours. A few months ago my wrists started aching by<br>mid-afternoon. Not crippling, but enough to make me close the laptop<br>after dinner thinking, tomorrow is going to be worse.
I tried the obvious fix. WisprFlow is brilliant. SuperWhisper too.<br>They work, they really do. But $15 a month for one of them, $8 a month<br>for the other, and the audio leaves your machine on its way to a<br>server somewhere. After enough years writing software you learn that<br>the moment your voice goes to someone else’s logs, it lives there<br>for as long as they care to keep it.
So I built Purr as a weekend hack. If Whisper runs on the Apple<br>Neural Engine and CGEventTap can synthesize keystrokes, the rest is<br>just plumbing. Turned out to be a lot of plumbing. Three months in,<br>it’s the first thing I open every morning, before Slack, before<br>mail, before anything else.
It is free. MIT licensed. It never sees the internet after you install<br>it. No subscription. No telemetry. No account to make. The code is on<br>GitHub if you want to read it, fork it, or rip out the parts you<br>don’t like.
I built this for me. I’m putting it out because someone else<br>might need it too.
Get the app
Scan the code, or click the button.
The QR opens the latest release and starts the download<br>automatically. macOS 14+ on Apple Silicon.
Download