I cannot type, so I built a free, open-source dictation app for the Mac

YapToText is free, open-source dictation software for the Mac, released under the GPL with its full Swift source on GitHub, and it runs Whisper Large v3 Turbo and Phi-3.5 Mini on your Mac. It costs nothing, has no paid tier or cap, and I built it because my hands make typing difficult. The pricing page is one sentence long: it is free.

Every dictation app on the Mac that was good enough to replace a keyboard wanted a subscription, a $249.99 license, or my voice on someone else's server. I dictate everything I write, so this was not a preference. It was the cost of using a computer. I built YapToText instead: free forever, open source under the GPL, and running entirely on the machine. It is on the Mac App Store, so installing it is one click and no Terminal.

Download YapToText on the Mac App StoreThis app is completely free. You don't have to make an account. There are no subscriptions, no difficult downloads, and nothing is locked. Made for Apple silicon Macs. Source on GitHub.

On this page: 13 sections
  1. Steps
  2. Why I built it
  3. What the alternatives actually cost
  4. What it does
  5. Inside the audio path
  6. How it differs from other open-source Whisper wrappers
  7. The open-source Mac dictation apps, side by side
  8. Why it installs from the App Store, not a shell script
  9. What on-device actually means here
  10. What I learned building it
  11. Where it stands
  12. The short version
  13. Questions

Steps

  1. Install YapToText free from the Mac App Store.
  2. Open it and allow the microphone, then turn on Accessibility so it can type at your cursor.
  3. Put your cursor where you want the words: an email, a message, a code comment.
  4. Tap the Right Command key once and start talking.
  5. Tap it again. Your words are typed at the cursor.

Why I built it

I do not dictate because it is convenient. I dictate because typing is difficult for me, and dictation is how I write emails, messages, documentation and the code comments in this app. When speech is your keyboard, a dictation app is not a productivity toy. It is the input device.

That reframes what the pricing means. A subscription for a text editor is a business decision. A subscription for the ability to write at all is a toll. And sending every word you produce to a server is not a checkbox on a privacy page. It is your correspondence, your work and your medical appointments passing through a company you have to trust forever.

I could not find a Mac app that was all three: good enough to replace typing, fully on device, and free. So I wrote one and gave it away.

App Store poster headed I created this because my hands don't work, with accessibility icons and the YapToText capybara.
Figure 1. The reason it exists, in one line: I built YapToText as an accessibility tool first, because I depend on it to write.

What the alternatives actually cost

Here is what the apps I would otherwise have used cost, checked October 3, 2026, on each maker's own site. Prices change, so check before you switch, and the full comparison has the sourced detail.

  • Apple Dictation. It is free, and on an Apple silicon Mac it handles supported languages on the device. It will not clean up what you said, will not format an email, and cannot edit text you have already written.
  • Wispr Flow. It costs $15 a month, or $12 a month billed yearly, with a free plan capped at 2,000 words a week on desktop. Its privacy page says transcription always happens in the cloud.
  • superwhisper. It has a free plan with local models, and Pro at $8.49 a month, $84.99 a year or $249.99 once.
  • MacWhisper. It is a one-time €64 for Pro. It runs locally, and it is good software.

These are not bad apps. Several are better than mine at things I have not built yet. The point is narrower: the underlying speech model is open source, Apple gives every developer the hardware acceleration for free, and none of that cost should land on someone who cannot use a keyboard.

What it does

Press one key, talk, press it again, and the words appear where your cursor is, in any app. That is all you do. Underneath it are the parts that took the actual work.

The expanded YapToText panel: a live blue waveform above the transcribed sentence, with cancel, pause and stop buttons and numbered mode chips.
Figure 2. One key starts it, the words form in the panel as you talk, and they land where your cursor is.
  • It reads the sentence you are dictating into. Put your cursor in the middle of a line and speak, and the first word lowercases when it should, the spacing joins cleanly, and a trailing period is dropped when the sentence continues. This is the feature I miss most in every other app.
  • It knows an email from a note. Auto mode reads what you said and picks the format on its own. An email comes out as an email, a quick message stays casual, and everything else is just cleaned up.
  • You can edit text by voice. Select any text in any app, tap the Quick Edit key and say the change: make this shorter, fix the grammar, translate it to Spanish. The rewrite replaces your selection in place.
  • Spoken punctuation works the way dictation users expect. Say "is it working now, question mark" and you get the mark, with no stray comma left behind.
  • Dictionaries and voice commands. Teach it the spelling of a name it keeps missing, or fill in the phone number starter on the Commands page so "insert phone number" types your real number.

The Intelligent Insert, Auto mode and Dictionaries help pages go into each one, and the speech to text on Mac guide walks through a first dictation.

Inside the audio path

Most of the engineering went here, because I dictate quietly, often in a room with a 3D printer running. Feeding raw microphone audio to Whisper and hoping is where most wrappers stop, and it is why they fall apart in a real room.

Before the speech model sees a sample: the room's noise is measured, and stationary noise is subtracted only when the signal-to-noise ratio calls for it, so a quiet room is never over-processed. A quiet voice is lifted relative to the room rather than to a fixed level. Capture is peak-guarded so one loud word cannot clip. Long silences are compressed so the decoder does not drift. Decoding switches from greedy to beam search when the clip measures noisy.

After: a rescue pass runs when the transcript comes back shorter than the speech that went in, and a guard collapses the repetition loops Whisper falls into on silent tails. All of it is measured against a harness of my own real dictations before any of it ships. A change that helps a clean recording often hurts a whispered one.

App Store poster headed It hears you through anything, listing the audio steps above the expanded recording panel.
Figure 3. The audio path in six steps, from background noise removal to pace correction, all of it before or around Whisper and all of it on the Mac.

How it differs from other open-source Whisper wrappers

Wiring Whisper to a hotkey is a weekend project, and several people have done it well. open-wispr is a good example: hold a key, speak, release, and the text appears at your cursor, all on device, MIT licensed. If that is all you need, it is a fine choice and you should use it.

The difference is what happens after the transcript exists. A wrapper hands you Whisper's raw output. Most of YapToText is the work between that output and the text you actually wanted:

  • Context. It reads what is on either side of your cursor and adapts the transcript to fit, so mid-sentence dictation comes out with the right case, spacing and final punctuation.
  • Cleanup. A local language model turns spoken filler into finished text, and picks the format from what you said, with no cloud call.
  • Editing. Select existing text anywhere and change it by voice, which is a different job from transcription entirely.
  • The audio path. It has noise subtraction gated on the signal-to-noise ratio, room-relative gain, peak-guarded capture, and a decoder that switches strategy when the clip is noisy. This is what makes a quiet voice in a loud room work.
  • Install. It installs from the App Store rather than a shell script, so it is sandboxed, reviewed by Apple and updated by the system.
The Quick Edit card with a live waveform, reading Listening for your edit, with the spoken instruction make it sound more formal underneath.
Figure 4. Editing is a different job from transcription: select text in any app, tap the Quick Edit key and say the change, and the card shows what it heard.

None of that makes the simpler tools wrong. It makes them a different size of thing. I needed the larger one because dictation is not a shortcut for me. It is the only way I write.

The open-source Mac dictation apps, side by side

These are the open-source dictation apps for the Mac I know of. Stars measure attention, not quality, and YapToText has only been on the App Store since July 22, 2026, so read the columns, not the counts.

Checked October 3, 2026, on GitHub and each project's own pages.

AppLicenseGitHub starsHow you install itEdits selected text by voicePlatforms
HandyMIT32,747From its site or GitHub releasesNot statedMac, Windows, Linux
FluidVoiceGPL-3.011,894Homebrew or GitHub releasesYes, Write ModeMac
OpenWhisprMIT8,992From its siteYes, with its voice agent keyMac, Windows, Linux; iPhone and iPad on paid plans
VoiceInkGPL-3.06,651Paid download from its site, or build itYesMac; iPhone and iPad app in beta
YapToTextGPL-3.025Mac App Store, free, or HomebrewYes, Quick EditMac

GPL versus MIT, for a user. Both let you read, build and change the code for nothing. The difference is what happens if someone ships a changed copy: under the GPL they must publish their changes under the same terms, and under MIT they need not. For a dictation app that hears everything you say, I chose the GPL so that any version of it you can download is one whose source you can also read. The VoiceInk alternative page compares the closest GPL app in detail.

Why it installs from the App Store, not a shell script

Plenty of open-source Mac tools install by piping a script from the internet into your shell. It is convenient for the developer, and it asks you to run unreviewed code with your own privileges, from a URL you cannot audit at the moment you run it.

YapToText is on the Mac App Store. That means it is sandboxed, reviewed, updated through the system, and removable like any other app. One click, no Terminal, and nothing to trust beyond what Apple already checks. Being free and open source does not have to mean an install method that would fail a security review at work.

If you prefer the command line, there is a Homebrew cask, signed with a Developer ID and notarized. It trails the App Store by a release today, 1.5.2 against 1.5.3, and it ships without the models.

Terminal: Install YapToText from my Homebrew tap.

brew install --cask ryleighnewman/yaptotext/yaptotext

What happens: YapToText lands in your Applications folder after a download of about 12 MB, replacing an App Store copy if one is there. It cannot dictate until you download a speech model on the AI Models page.

The source is public on GitHub, where it is at 1.5.2 today, so you can read it before you run it. The install page covers both routes.

What on-device actually means here

The speech model and the cleanup model are both inside the App Store version. There is no account, no telemetry and no analytics, and nothing in a dictation touches the network. It works on a plane, on the first launch, with Wi-Fi off. The Homebrew build needs its one model download first. The only network use is a model download you start yourself, for one of the other models on the AI Models page, and the offline dictation page has a test you can run.

Voice is unusually personal data. It is not a search query. It is you, speaking, with the content and the context attached. The honest version of a privacy claim is not a promise about what a company does with your recording. It is that the recording never leaves, and the code that proves it is public.

App Store poster headed Nothing leaves your Mac, over YapToText's AI Models page with both models marked Included.
Figure 5. Both models are inside the App Store version, marked Included on the AI Models page, so a dictation never needs the network.

What I learned building it

  • The model was the easy part. Whisper is excellent out of the box. Everything that makes dictation feel finished lives around it: knowing where the cursor is, what is on either side of it, which app you are in, and what you meant by "period".
  • Inserting text is harder than transcribing it. Reading the text around your cursor without stealing focus, in apps that all behave differently, took more work than the entire transcription pipeline.
  • Accessibility is design, not a checklist. An app for people who cannot type has to be operable without typing, and it should not look clinical. It has a real waveform of your voice, three panel layouts and the system's own materials, because tools people depend on deserve to be nice to look at.

Where it stands

Here is the project on October 3, 2026, in plain numbers.

  • Version. 1.5.3 (21) on the Mac App Store, released September 29, 2026. GitHub and Homebrew are on 1.5.2, and the release notes list every change.
  • License. GPL-3.0, with the source at github.com/ryleighnewman/YapToText.
  • Attention. 25 stars on GitHub.
  • Money. None is required. There is a tip jar in the app, and a tip changes nothing about what you get.

The short version

  • Free. There is no paid tier, no cap and no account.
  • Open. The license is GPL-3.0, and the source is on GitHub.
  • On your Mac. Both models run locally, and your voice never leaves.

Coming from a paid app with a free plan, the superwhisper alternative page goes through the switch job by job.

If you want to see the other open-source options side by side, I compared them in open-source dictation apps for Mac.

If you try it and something is wrong, I would rather hear that than anything else. That is how it got this far. Open an issue on GitHub. Every one gets read.

Download YapToText on the Mac App StoreThis app is completely free. You don't have to make an account. There are no subscriptions, no difficult downloads, and nothing is locked. Made for Apple silicon Macs. Source on GitHub.

About the author. Ryleigh Newman is a developer whose hands make typing difficult and who dictates every day with YapToText, the app this site describes. Facts about other apps come from their own sites, with the date they were read. More about the project.

Sources

Questions

Is there open source dictation software for Mac?

Yes. YapToText is free and open source under GPL-3.0, and it is on the Mac App Store. Handy and OpenWhispr are MIT licensed, and FluidVoice and VoiceInk are GPL-3.0.

Is there an open-source alternative to Wispr Flow and superwhisper?

Yes. YapToText is GPL-licensed and free, runs Whisper plus a local cleanup model on your Mac, and installs from the Mac App Store or Homebrew. Nothing is uploaded and there is no account.

Does YapToText work offline?

Yes, from the first launch in the Mac App Store version: the speech model and the cleanup model ship inside the app, so a dictation makes no network request. The Homebrew build needs one speech model download first.

How is this different from other open-source Whisper wrappers?

Three things. It adapts what you say to the sentence around your cursor, so mid-sentence dictation comes out with the right case, spacing and punctuation. It picks the format for you, so an email comes out as an email. And it lets you select text anywhere and change it by voice. It also installs from the App Store rather than a shell script.

Is it really free? What is the catch?

No catch and no paid tier. It is free forever, the source is public, and the only money in the app is an optional tip jar that changes nothing about what you get.

Which open-source dictation app for Mac is on the App Store?

YapToText. The other open-source dictation apps I know of point you to their own sites or GitHub releases for the download. The App Store means one click to install, automatic updates, and Apple's sandbox and review.