Features
Dictation that cleans up after you
SayWrite is a dictation app that works in every app you type in, and runs on your Mac. Here is everything it does, starting with the basics. For setup, see the install guide.
Beyond dictation
Built for people who talk all day
Speaking vs typing
See how much faster you talk than type
SayWrite measures your typing speed and your speaking speed on your Mac and shows the difference, plus words dictated and time saved. Typing speed comes from keystroke timing only; it never records what you type.

Per-app AI Polish
Polish that knows which app you're in
Choose once: Slack and Mail get Polish, Messages gets a light clean-up, code editors get exactly what you said. It happens every time you dictate there. Custom instructions per app are on the way.
Your model
Bring your own local model
Polish with Apple's on-device model, or with a model you run in Ollama or LM Studio on your Mac. No API keys, no cloud.
History and editing
History that remembers where you wrote it
Every dictation is saved on your Mac with the app it went to, searchable and ready to paste again. Edit Last Dictation fixes your latest one in an editor and swaps it back in place.

Private
Runs on your Mac. No password.
Speech recognition and AI Polish run on your Mac, and it works offline. There's no password to remember, and SayWrite never uploads what you say.
Price
$30 a year. Wispr Flow Pro is $144.
Unlimited dictation and AI Polish for less than a quarter of what Wispr Flow Pro costs per year. Try it free for 7 days in the app, with no card.
Works in every app you type in
SayWrite types what you say into whatever app you're using: email, Slack, Notes, your code editor, a browser form. Hold the Fn (Globe) key while you talk and let go when you're done, or tap Fn once to start and again to stop. SayWrite never presses Return, so nothing is sent before you've read it.
- Three modes: Auto (tap or hold), Toggle and Hold. Control-Option-D works as an alternative shortcut.
- A small floating pill shows you're live, with a level meter; Esc cancels and nothing is typed.
- If an app won't accept typed text, SayWrite pastes it and restores your clipboard, or copies it for you.
On-device speech recognition
SayWrite's speech engine turns speech into text on your Mac, running an open speech recognition model through Core ML on the Apple Neural Engine (credited on the Credits page). SayWrite never sends your audio to a server. After a one-time model download of about 465 MB, dictation works with no internet connection at all.
- Speed varies with your Mac, model readiness and recording length. See the archived speech-test conditions on the Security page.
- The model uses about 0.5 GB of memory while loaded and unloads itself after 10 idle minutes (unless you keep it loaded).
- English only for now.
AI Polish with Fn + Space
AI Polish rewrites what you just said into what you'd have written with time: the point first, rambling cut, paragraphs or a short list where it helps, while keeping your facts and your casual voice. Tap Space while holding Fn to turn it on for that dictation. It runs on your Mac with Apple Intelligence's on-device model or your own Ollama or LM Studio server on 127.0.0.1.
- Match tone to the app: short replies in chat apps, full sentences in email, exact names in code editors.
- Optional "How I write" note (like "short sentences, British spelling") stays on your Mac.
- If the AI engine fails, your words are typed as you said them, never lost.
- AI features are off until you turn them on.
Tell it what to write
Switch to the "Rewrite · do what I say" mode and your words become an instruction instead of text to type. Say "write a short email asking the team to confirm by Friday" and SayWrite writes that email where your cursor is, in your voice. It's told not to invent names, dates or details you didn't give, but give anything important a quick read.
- Select text and say "make this more concise" to rewrite the selection in place.
- End a dictation with "rewrite that to make sense" to fix up what you just said.
- If the rewrite fails, nothing is typed, because the words were an instruction.
Spoken commands
Say "new line" or "new paragraph" to break lines as you dictate, and say "scratch that" on its own to undo your last dictation. You don't have to reach for the keyboard to format as you talk.
Snippets
Snippets expand a short spoken trigger into saved text, typed exactly as you wrote it. Say "my address" on its own to insert your address, or say "snippet my address" in the middle of a sentence.
Learns your names and jargon
Add names, product terms and jargon to your personal dictionary so SayWrite spells them your way, every time. SayWrite also suggests entries: when you correct a name after dictating, or when an unusual word keeps showing up in your dictations, it offers to add it. It never adds a word without asking.
Drops the ums and uhs
Turn on filler-word removal and SayWrite drops um, uh, er, ah and hmm from your text before it's typed. It counts filler words too, including "like" and "you know", so your Stats page can show how often you use them.
A different style for each app
SayWrite can behave differently in each app. Set Slack or Mail to always polish, Messages to a light clean-up, and everything else to type exactly what you said. Per-app style also controls the final period, first-letter capital and line breaks, with sensible defaults for chat apps and code editors.
- Tap Space during a dictation to skip auto-polish just that once.
- Auto-polish only runs when local AI is turned on.
Fix your last dictation in place
Edit Last Dictation opens your most recent dictation in a small editor, with one-click local AI actions (Polish, Grammar, Concise, Bullets, Email, Friendlier) and your own instructions. When you're happy, Replace swaps the edited text in for the original, right where it was typed, but only if SayWrite can confirm the original is still exactly there. Otherwise the text goes to your clipboard.
History, saved on your Mac
History keeps your past dictations on your Mac so you can search them, see which app each went to, and paste one again. You choose how long it's kept (7, 30, 90 or 365 days, or forever). Text typed into password managers is never saved, and audio is never saved: each recording is deleted once it's transcribed.
Stats: speaking vs typing speed
The Stats page compares how fast you speak with how fast you type, measured on your own Mac, and shows streaks, a daily heatmap, personal bests, a weekly recap and your filler-word habits. Typing speed is worked out from keystroke timing only; SayWrite doesn't record what you type.
Transcribe audio and video files
Drop an audio or video file (MP3, M4A, WAV, AIFF, CAF, MP4, MOV and more) into the Files section and SayWrite transcribes it on your Mac, split into timestamped segments. Click a segment to copy it, or export the whole transcript as plain text, Markdown or .srt subtitles.
- Processing time depends on your Mac, the recording and whether the speech model is already loaded.
- The audio is decoded to a temporary file and deleted when the job ends; only the text is saved.
Automatic updates
SayWrite checks for a new version once a day and installs it when you say so. The check fetches a small file from the SayWrite update feed, and no system profile or personal information is sent. Updates are signed. You can turn automatic checks off in Settings.
Try it free
7 days free.
No card, no account: the trial starts when you open the app. Then $30/year or $5/month. No word limit, and speech runs on your Mac.
Download freemacOS 15+ · Apple silicon · English
Say it messy. We'll write it neat.
Try it free for 7 days in the app: no card, no account. Then $30 a year or $5 a month, charged when you buy. No word limit.
On your phone? SayWrite runs on a Mac. Send yourself the link and download it there.
7-day free trial · no card, no account · macOS 15+ · Apple silicon