Almost none of a working day is syntax. It is commit messages, PR descriptions, code review comments, Linear tickets, Slack threads about why the build is red, and the occasional block comment explaining a decision nobody will remember in six months. That is ordinary prose, dictated the same way an email is, and it is the part of the job every app on this page can actually help with.
Writing the code itself is a different problem, and it is worth saying plainly, first, before any of these apps gets a paragraph: transcribing speech into text is not the same thing as executing a voice command, and almost nothing here does the second one. If what you actually want is to speak "def", have four spaces of indentation appear, and navigate a file without touching the keyboard, there is one real answer and it is Talon, not any dictation app including this one.
What breaks a general dictation tool on a developer's day
Two things, consistently. The first is vocabulary — a codebase's variable names, service names and internal jargon are not in any general language model's training data, and a tool with no way to teach it those words gets them wrong the same way every single time. The second is punctuation-heavy speech: dictating "open paren, quote, get user by id, quote, close paren" into a general-purpose tool tends to produce something closer to English prose than to the literal characters, because that is what the tool is tuned for.
Neither problem has a universal fix. Some tools address the first with a custom dictionary; none of the ones below claim to solve the second for real syntax, which is exactly why Talon exists as a separate category rather than a feature checkbox on everyone else's roadmap.
Talon — the only one that writes code, not about code
Free to download for macOS, Linux and Windows, with no price published on
talonvoice.com — the site promotes a Patreon for
"early feature access" and "high priority support" instead of a storefront.
Talon is a control layer with a large community-maintained set of coding
grammars: spoken commands map to keystrokes, indentation, navigation and
editing operations, so "state i equals zero" can become i = 0 and "go to
definition" can actually go there. That is a genuinely different job from
dictation, configured in Python, with a real learning curve — see the full
comparison for the honest version of what
that costs to set up. For anyone who cannot type for hours without pain, it
is worth that cost. For anyone who types fine and just wants comments and
commit messages off their hands, it is more tool than the job needs.
Wispr Flow — learns the names, on four platforms
Checked on their site today: Pro is $15 per user per month (20% off
billed annually), with a free tier below it. Wispr Flow advertises that it
learns your names and jargon as you go, runs on Mac, Windows, iOS and
Android, and supports 100+ languages — a genuinely larger product than
anything else on this page. For a developer whose biggest daily friction is
a CustomerOnboardingService that never comes out right, a tool built to
learn exactly that word is solving the actual problem rather than working
around it. The comparison has the
rest, including the $19-once-versus-$15-a-month arithmetic.
Aqua Voice — a dictionary plus real-time cleanup
Checked on their pricing page today: Starter free with 1,000 words, Pro $8/month billed annually ($10 monthly), Max $24/month annually ($30 monthly) adding real-time editing and a "Send it" voice command. Pro and above include an expanded custom dictionary and custom instructions — tell it how you want something phrased and it follows that instruction going forward. For a developer who dictates a rough PR description and would rather receive something already tidied than fix it by hand, that live-editing behaviour is the actual selling point. The comparison covers the rest of a genuinely different kind of product.
superwhisper — local, with a vocabulary you build yourself
Checked on their pricing comparison today: a free tier, or Pro at $8.49/month, $84.99/year, or $249.99 once. Their Pro documentation lists custom vocabulary among the Pro features, alongside AI-powered modes you can shape for a given kind of writing. That combination — local processing plus a vocabulary you teach — is the closest thing on this page to Wispr Flow's learned-vocabulary pitch without the subscription, and it is why it is usually the second product a developer tries after this one. The comparison covers a considerably larger app.
VoiceInk — the cheapest way to get a dictionary and stay local
Checked on tryvoiceink.com today: $25 for one Mac, $39 for two, $49 for three, one-time, with a 14-day refund, on Apple silicon and macOS 14.4 or later. Their site describes a dictionary feature that lets VoiceInk "recognize names, product names, and custom words exactly as written" — the same category of feature as superwhisper's, at a lower one-time price and without the local-model tier question to check first. The comparison has the detail.
MacWhisper — for the recording, not the live dictation
Checked on macwhisper.com today: free forever, Pro at €64 once. It dictates system-wide like the rest of this list, but its actual edge for a developer is different: it can open an existing audio file — a stand-up recorded on a phone, a pairing session, a design review — and transcribe it locally, offline, which nothing else here does. If the technical conversation you need turned into text already happened and got recorded, this is the tool for it. The comparison has the rest.
Coii VoiceInput — no vocabulary, no subscription, nothing uploaded
$19 once, three devices, macOS 13 Ventura or later. It has no custom dictionary and no way to learn a project's identifiers — say that plainly, because it is the row every competitor above beats it on, and a developer choosing between these tools should know it before buying. What it offers instead is a hold-to-talk key that works in any text field, including a terminal, with the transcript written to local history before the engine is asked anything, so a slow response or a paste that does not land costs a copy-and-paste rather than a lost commit message. Nothing is uploaded, and it works with the network off, which matters more than it sounds on a locked-down corporate laptop.
git commit -m fix the pagination bug where the last page dropped the final row
The table
| Writes real code by voice | Custom vocabulary/dictionary | Platforms | Price, checked today | |
|---|---|---|---|---|
| Talon | Yes, via command grammars | Community grammars, not a taught dictionary | macOS, Linux, Windows | Free, no price published |
| Wispr Flow | No — dictates prose only | Yes, learns as you go | Mac, Windows, iOS, Android | $0–$15/user/month |
| Aqua Voice | No | Yes, plus live editing | macOS, Windows, iOS | $0–$30/month |
| superwhisper | No | Yes, Pro | macOS | $0–$249.99 |
| VoiceInk | No | Yes | macOS | $25–$49 once |
| MacWhisper | No | No | macOS | Free–€64 once |
| Coii VoiceInput | No | No | macOS | $19 once |
What actually changes day to day
The honest way to pick from this list is to separate what you are dictating from what you wish you could speak instead of type.
If most of your friction is a handful of proper nouns and product names coming out wrong, over and over, a vocabulary you can teach is worth more than anything else on this page — superwhisper and VoiceInk get you that locally for a one-time or modest recurring cost, and Wispr Flow does it with the largest platform reach if you also work off a phone. If what you actually want is your hands off the keyboard for the whole job, not just the prose parts, that is Talon's case, and it is a real commitment rather than an afternoon's setup. If neither of those is the itch — you just want commit messages, comments and tickets typed by voice, saved before anything can lose them, with nothing sent anywhere and nothing to configure — that is what a held key gets you, and thirty days of trying it costs nothing to find out.
- 10:044.1sFix pagination bug where the last page dropped the final row.Terminal
- 10:229.6sThis PR moves the retry logic out of the request handler and into the queue worker, so a dropped connection no longer blocks the caller.GitHub
- 11:153.0sReproduced on staging — logs attached to the ticket.Linear
Saying punctuation out loud, and why most people stop trying
Everyone who dictates a commit message for the first time tries to speak the punctuation, and almost everyone stops within a week. "Fix pagination bug, comma, where the last page dropped the final row, period" produces a sentence with the words "comma" and "period" typed into it more often than it produces punctuation, because none of these tools are built to distinguish "say the word comma" from "insert a comma" without a command grammar to tell them which — and outside Talon, none of them have one. The habit that actually works is dictating the words and typing the punctuation afterwards, which sounds like it defeats the purpose and in practice costs seconds, not minutes, once it is a habit rather than a decision you make every time.
Identifiers are the harder problem, and the dictionary features above exist
specifically because of it. Say getUserById out loud and a general-purpose
tool hears three or four English words and guesses at how to join them —
get user by id, getUserByID, get_user_by_id, rarely the one your
codebase actually uses. A taught vocabulary fixes the guess for that specific
term; without one, the fix is to dictate the plain-English version of what
you mean and let autocomplete or a quick correction handle the exact
identifier, which is slower but reliable, and is what a tool with no
vocabulary — this one included — actually asks of you.
Where local processing is the whole reason to look here
Some of this list's appeal for a developer has nothing to do with dictation quality and everything to do with what the employer allows. A codebase under NDA, a client engagement with a strict data-handling clause, or simply a corporate laptop with an outbound proxy that blocks anything it does not recognise, all rule out a cloud dictation tool before accuracy or vocabulary ever enters the conversation — not because the vendor is untrustworthy, but because the audio has to leave the machine for a hosted service to work at all, and that is a property no setting changes.
Coii VoiceInput, VoiceInk, MacWhisper's free tier and superwhisper's local models all avoid that by construction rather than by policy: there is no server the audio could reach, on any tier, so there is nothing for a security review to flag about where a sentence went. For a developer who has actually sat through that review — the one where someone from security asks "and where does the audio go" and there is no good answer for a cloud tool — that property tends to matter more than any vocabulary feature on this page, and it is worth checking before the subscription rather than after IT asks you to uninstall it.
What none of these solve
Reading a stack trace aloud does not fix it, and dictating a variable name does not make it correct — every tool on this page still needs you to know what you meant to write. And for the syntax itself, outside of Talon's grammars, typing remains faster than any of these for as long as programming languages are punctuation-dense and unforgiving about exact characters. The honest pitch for every app above, including this one, is narrower than "voice codes for you": it is "voice writes the English parts, so your hands are free for the parts that actually need them."
That narrower pitch is worth more than it sounds, because a working day has more English in it than most developers count before they start looking: the standup update, the ticket description, the comment explaining why a workaround exists, the message telling a reviewer what changed and why. None of that needs a command grammar or a taught vocabulary to be worth dictating instead of typing — it just needs a key that works reliably, in whatever app the words are headed for, without asking which tool you meant to open first.