Offline dictation for Mac
talkflow is a free, open-source dictation app that turns your speech into text on your own Mac and types it into whatever app you're using. Once it's set up, it works the same with Wi-Fi off.
What it does
Hold fn (the Globe key in the bottom-left corner of Mac keyboards), say what you want to write, and let go. Your words appear in the focused text field: a chat, an email, a document, a terminal, a browser. You can change the key in Settings to Right Option, Right Command, Control + Option, or record your own combination.
It runs on macOS 13 or later, on Apple silicon and Intel Macs: one universal app for both. It is free, with no account, no trial and no word limit.
How dictation stays on your Mac
talkflow includes a speech engine, whisper.cpp, which runs OpenAI's open Whisper model on your Mac's own processor. The engine listens only at 127.0.0.1, which always means your own computer. The app sends your recording there and gets text back, without the audio ever going over the internet. Audio is kept in memory only and is never written to disk.
Setup downloads the English speech model once (small.en, about 190 MB). On Macs with more than 8 GB of memory, a larger, more accurate model for the final text (large-v3-turbo, about 575 MB) also downloads in the background; you can turn it off in Settings. After that, nothing more needs to be downloaded to dictate. The full pipeline is described in how talkflow works.
Permissions, and why each one is needed
The setup window walks you through two macOS permissions:
- Microphone, so talkflow can hear you. macOS asks you to approve it.
- Accessibility, which you switch on in System Settings. talkflow uses it to type the text into the app you're using, to notice when you hold and release the shortcut, and to read a little of the text around your cursor so it can add a space when one is needed. It never reads password fields, and it types with keystrokes rather than through your clipboard (unless a dictation can't be typed, for example because you switched apps, in which case it's put on the clipboard so it isn't lost).
You can turn either off at any time in System Settings > Privacy & Security. If holding fn opens the emoji picker instead, set System Settings > Keyboard > "Press the globe key to" to Do Nothing.
What leaves your Mac
Not your voice, and not your words. The app makes only these requests:
- A one-time install count. The first time an official release runs while online, it sends one empty request so installs can be counted. No ID and nothing about you, your Mac or your usage. Once it succeeds it never sends again, and copies built from source never send it.
- Update checks. It asks GitHub whether a newer version exists. An update installs only when you click it, and only if the download matches the release's checksum.
- Model downloads during setup, from Hugging Face, as described above.
- Only if you add your own key: OpenAI for transcription, or Anthropic for punctuation. That step then goes to that provider. Both are off unless you add a key.
There is no account and no usage analytics. The details are in the privacy policy.
Using it offline
With the model downloaded, turn off Wi-Fi and dictate as usual. The update check and the install count simply wait until you're online again; dictation doesn't depend on either.
Good to know
- It is built for English; its main model, small.en, is English-only.
- It types into the focused text field of most Mac apps, but not every app has been tested, and an app can change how it accepts typed text.
- Your stats and settings live in
~/Library/Application Support/talkflow/. Uninstalling from Settings removes the app, engine and models and keeps that folder.
Install
Download it below, or see the Mac download page. You can also build it yourself from the source on GitHub. Using a PC? See dictation for Windows.
