Hold a key. Say it.
Watch it get typed.

Flow is free hold-to-talk dictation for macOS. Hold Right-Option, say what you mean, and let go: clean, punctuated text lands at your cursor in whatever app you're in. Speech recognition runs entirely on your Mac.

Free forever. Open source. macOS 13 or later, Apple Silicon and Intel. About 0.6 MB. No account, no cloud, no subscription.

How it works

Three moves. That's the whole app.

1

Hold Right-Option

In any app, with your cursor anywhere you can type. A small "listening" pill fades in so you always know the mic is hot.

2

Say what you mean

Talk naturally. Apple's on-device speech engine transcribes as you go. Nothing is recorded to disk and nothing leaves your Mac.

3

Let go

Flow drops the "um"s, turns "period" and "new line" into punctuation, fixes capitalization, and types the result at your cursor.

Features

Dictation that respects your Mac.

🔒

100% on-device

Transcription uses Apple's built-in Speech framework. No cloud round-trip, no API key, no audio ever uploaded anywhere.

Works in every app

Mail, Slack, Notes, your browser, your code editor. If the cursor blinks there, Flow types there.

Cleans up after you

Filler words dropped, spacing fixed, sentences capitalized. What lands is text you'd actually send.

💬

Spoken punctuation

Say "period", "comma", "question mark", "new line", or "new paragraph" and get the real thing.

📚

Personal dictionary

Recognizer keeps hearing "print of oh"? Map it to "Printavo" once and it's fixed in every future dictation.

Voice snippets

Say a trigger phrase, get a full expansion. "My sign off" can become your entire email signature.

📈

History & insights

Every transcript saved locally, with total words, average WPM, your day streak, and which apps you dictate into most.

📋

Clipboard-safe

Flow inserts via a paste that clipboard managers ignore, then restores whatever you had copied. Your clipboard is untouched.

💖

Free and open source

MIT licensed. Read every line of code, build it yourself, or grab the download. No trial, no upsell.

Install

Up and running in a minute.

Flow is free and open source, not notarized through Apple's paid developer program. That means macOS shows a scary-looking warning on first launch. It's a 20 second detour, and there are two ways through it.

Option 1: Terminal install, no warnings at all

Paste this one line into Terminal (find it in Applications > Utilities). It downloads Flow, puts it in Applications, clears the safety flag, and launches it.

curl -fsSL -o /tmp/Flow.zip https://github.com/marcotteink/flow/releases/latest/download/Flow.zip && ditto -xk /tmp/Flow.zip /Applications && xattr -dr com.apple.quarantine /Applications/Flow.app && open /Applications/Flow.app

Option 2: Download normally, then approve it once

  1. Download and unzip. Hit the download button up top to get Flow.zip. Double-click it. You get Flow.app.
  2. Drag Flow.app into Applications.
  3. Open it. You'll see the warning shown here. Click Done. Not "Move to Trash". This is macOS being cautious about any app that isn't in its paid developer registry, not a malware detection.
  4. Approve it in System Settings. Open System Settings, go to Privacy & Security, scroll to the bottom Security section. You'll see "Flow was blocked to protect your Mac", exactly as pictured here. Click Open Anyway, then confirm.
  5. Grant the three permissions Flow asks for. Microphone (to hear you), Speech Recognition (Apple's on-device engine), and Accessibility (to watch for the hold-to-talk key and type the result). Each is a one-time prompt.
  6. Done. Look for the waveform icon in your menu bar. Put your cursor in any text field, hold Right-Option, and say something. The warning never comes back.
Is that warning normal? Yes, completely. macOS shows it for every app distributed outside the Mac App Store unless the developer pays Apple $99 every year to make it disappear. Flow is free and always will be, and paying a yearly fee to remove a dialog box from a free tool doesn't make sense. The message means "Apple doesn't have this developer in its paid registry." It does not mean anything harmful was found. You approve once and the warning never comes back. And because the entire source code is public on GitHub, you don't have to take anyone's word for what the app does: read it, or build it yourself with ./build.sh.

Cheat sheet

Everything Flow responds to.

ActionWhat happens
Hold Right-OptionRecording starts; the listening pill appears
Release Right-OptionRecording stops; cleaned-up text is typed at your cursor
Toggle key (optional)Press once to start, again to stop. Right Command or F13 to F19, set in Settings
Say "period", "comma", "question mark"The punctuation mark, correctly spaced
Say "new line" / "new paragraph"A line break / a blank line
Say a dictionary "heard" phraseReplaced with your correction before cleanup
Say a snippet triggerReplaced with its full expansion after cleanup
Menu bar > Paste Last TranscriptTypes your most recent dictation again at the cursor
Menu bar > Open FlowHistory, Insights, Dictionary, Snippets, Settings

FAQ

Questions people ask.

Is it really free?

Yes. Free forever, MIT licensed, no trial, no locked features, no account. It was built to replace a subscription dictation app and is shared in that same spirit.

Does my voice go to the cloud?

No. Flow uses Apple's Speech framework with on-device recognition. Audio is transcribed on your Mac and discarded; it is never written to disk and never uploaded. The transcripts in your history live in a local folder only you can read.

macOS says it "could not verify" Flow. Is that bad?

It's normal and expected for free apps. Apple shows that message for any app whose developer doesn't pay for the $99/year Apple Developer Program, and since Flow is free, that fee isn't happening. Nothing harmful was detected; Apple simply doesn't have the developer in its paid registry. Click Done in the warning, then System Settings, Privacy & Security, scroll to the bottom, Open Anyway. You do this exactly once. The Terminal install option skips the warning entirely, and the full source is on GitHub if you want to verify what the app does yourself.

Why does it need Accessibility permission?

Two reasons: watching for the Right-Option hold (a global key event, which macOS only exposes to apps you've granted Accessibility) and typing the finished text into the frontmost app. Flow uses that permission for exactly those two things; the code that does it is about a hundred lines you can read on GitHub.

How is this different from macOS built-in dictation?

Built-in dictation makes you go find the shortcut, shows raw output with the filler words left in, and stops listening when it feels like it. Flow is push-to-talk like a walkie-talkie: hold the key, talk, release, done. It cleans the text before typing it, applies your personal dictionary and snippets, and keeps a searchable local history with stats.

How is this different from Wispr Flow?

Same interaction, different philosophy. Wispr Flow is a polished commercial product that sends your audio to its servers for transcription and charges a subscription. This Flow is a small native Swift app: transcription stays on your Mac, there is nothing to sign up for, and it costs nothing. If you want cloud-grade accuracy and don't mind the trade, Wispr is great. If you want private, free, and instant, that's this.

What languages does it support?

Whatever your Mac's speech recognition supports for your system language. Flow asks Apple's engine for your current locale; changing your macOS dictation language changes what Flow hears.

Where does my stuff live?

Everything (history, dictionary, snippets, settings) is plain JSON in ~/Library/Application Support/Flow. Nothing ever leaves your Mac, and deleting that folder resets the app completely.

How do I uninstall?

Quit Flow from its menu bar icon, delete Flow.app from Applications, and remove the ~/Library/Application Support/Flow folder. That's everything.

Can I build it from source?

Yes. Clone the repo, run ./build.sh, and open dist/Flow.app. You need the Xcode Command Line Tools, nothing else. The whole app is a small Swift package, and HOW_TO_BUILD.md in the repo walks through how every piece works.

Ledge icon

Like free Mac tools? Meet Ledge.

A drag-and-drop shelf for your files. Start dragging and a shelf appears; park things there, then drag them out wherever they belong. Same shop, same deal: free and open source.

Check out Ledge
Shorthand icon

And Shorthand, for your keyboard.

A text expander for your Mac. Type /sig anywhere and get your whole signature: rich text, images, and dynamic dates included. Free and open source too.

Check out Shorthand

Stop typing everything twice as slow.

Download Flow, free

macOS 13 or later. Universal for Apple Silicon and Intel.