macOS 14+ · Apple Silicon · Free

Hold a key. Speak.
Your words type themselves.

Local voice-to-text dictation for macOS Apple Silicon. A free, MIT-licensed alternative to paid commercial dictation apps, with no telemetry and no cloud round-trips.

How it works

Three steps. No menus. No waiting.

The app sits in your menu bar. Trigger it from any text field. Slack, Notes, Mail, Messages, anywhere.

1

Hold the hotkey

Right Option by default. Switch it to another built-in preset: a bare modifier, a combo like ⌃⌥ Space, or a function key.

2

Speak naturally

Transcription runs entirely on the Apple Neural Engine, on-device. Zero cloud round-trips, zero telemetry, zero waiting.

3

Release

Your transcript types straight into whichever app has focus, word-by-word as you speak if you turn on Smart Typing.

Let’s ship the new onboarding flow this week.

Smart typing 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 on-device (transcription runs on the Apple Neural Engine). Zero telemetry, and zero network calls after the initial model download.

Which mode is lowest-latency?

Parakeet (the default) with Smart Typing on, so words appear as you speak instead of on key release. Whisper can’t match it because it’s non-streaming.

What languages can I dictate in?

English with the default Parakeet engine. For other languages, switch to WhisperKit in Settings › Engine. It transcribes ~100 languages (auto-detected or pinned) and can 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 together, so remote participants are transcribed too, still entirely on-device. System-audio capture needs macOS 14.2+; 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 bar is crowded. Hold Command and drag to reorder, quit a few menu bar apps, or use Ice / Bartender to manage overflow.

How big is the model download?

Parakeet TDT v2 is ~450 MB, fetched automatically on first launch. Whisper models range from ~140 MB (Tiny) to ~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 Settings (e.g. Right Option, F5, or ⌃⌥ Space for dictation). There’s no custom recorder yet, so keys outside the presets can’t be assigned.

Can I use it in any app?

Any standard text field. Voice editing works in Accessibility-supported fields (most native macOS apps); other apps fall back to paste injection.

How do I update Purr?

Open the menu bar › About Purr and it checks GitHub Releases automatically (or click “Check for Updates”). A new version downloads, verifies its checksum, and relaunches in place.

Why was I asked to grant permissions again after an update?

Either the bundle ID changed (e.g. you swapped in a different fork) or you revoked a permission in System Settings. Re-grant 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, ten, twelve hours. A few months ago my wrists started aching partway through the afternoon, just enough that I started closing the laptop after dinner instead of finishing one more email.

I tried the usual voice to text apps. A couple of them work well. But they all wanted a monthly subscription, and they all sent my voice to a server before it came back as text. I’ve written enough software to know that, in practice, your voice sits on somebody else’s disk for as long as they feel like keeping it.

So I built Purr myself, over a few weekends that turned into a few months. It does the same job as those other apps, except everything happens right there on your laptop instead of on someone else’s server. It took a lot longer than I expected. But three months in, it’s the first thing I open every morning, ahead of Slack and email.

It’s free and open source, and it never touches the internet after you install it. It doesn’t ask for a subscription or an account, and there’s no telemetry phoning home in the background. The code is on GitHub if you want to see how it works or change something you don’t like.

I built this for myself. I’m putting it out because if your wrists ache too, you might need it more than you think.

QR code that downloads Purr.dmg

Get the app

Scan the code, or click the button.

The QR opens the latest release and starts the download automatically. macOS 14+ on Apple Silicon.