Open source, MIT licensed

Dictation that
answers to you.

Hold a key and talk, and the words land in whatever you were typing in. You pick the speech model — one that runs on your own Mac, or a cloud provider you hold the key to.

Speech → text

Could we move the catch-up to Friday?

macOS 14 or later · Build: Universal compatible · free, no account

Choose yourself: Apple Silicon · Intel (universal) · or brew install --cask crmitchelmore/justspeaktoit/justspeaktoit

The Mac app showing Session History: a searchable list of past transcriptions with the trigger, model and raw transcript for the expanded session.
The Mac app. Sample history.View full size ↗

Native Mac, iPhone and iPad On-device or your own API keys No account, no subscription Read the source

How it works

Hold. Speak. It is already typed.

No window to find, no button to hunt for. The app stays out of the way until you hold the key.

01

Hold the key.

Press and hold Fn, double-tap it, or record your own global shortcut — the app answers to all three out of the box. It fires while another app is frontmost, so Just Speak to It is never the window you are looking at.

fn hold, double-tap, or bind your own

02

Say it.

Words appear as you speak them, or hand over a recording and get it back transcribed. Your own corrections and pronunciations are applied on the way through, and a per-app profile can change the model and the prompt depending on what you were writing in.

03

It is already there.

The session captures the field you were in before the recorder even appears, and puts the finished text back into that same field — even if you switched app mid-sentence. Prefer the clipboard? That is a setting, and it puts your old clipboard back afterwards.

Back into the app you started from

Automatic insertion belongs to the direct download, which uses macOS Accessibility. A sandboxed Mac App Store build could only ever reach the clipboard, so the app does not pretend otherwise.

Your words, your keys, your machine

There is no server in the middle.

Most dictation apps put themselves between you and a model. This one does not have anywhere to put your audio, because it never has it.

It can stay on the Mac.

Apple's on-device transcribers, six sizes of WhisperKit running through Core ML, and a local Parakeet model for live streaming. Transcript clean-up can use Apple's on-device Foundation model or a plain offline rules engine. Downloaded once, then no network at all.

Cloud means your key.

Every cloud provider is one you sign up for yourself. The key lives in the Keychain and the app posts your audio straight to that provider's own endpoint. There is no relay, no proxy and no first-party backend anywhere in the codebase — and you can check, because the codebase is public.

Nothing to sign up for.

No account, no login, no subscription. History lives on your device, and syncs through your own private iCloud only if you switch it on. Diagnostics and anonymous analytics are opt-in and never carry transcripts, audio or keys.

Two honest caveats. Apple's older Speech Recognition can fall back to Apple's servers when on-device recognition is not available on your Mac, and turning on iCloud sync or a cloud voice does send data off the device by design. The full privacy policy spells out each one.

Pick your engine

One app. Every speech model worth having.

Speech recognition is moving fast, so the app treats the model as a setting rather than a personality. Switch provider per session, compare two on the same audio, and see what each one cost you.

Live dictation 13 providers

  • Apple (on-device)
  • Deepgram
  • OpenAI
  • AssemblyAI
  • ElevenLabs
  • Soniox
  • Speechmatics
  • Cartesia
  • Gladia
  • Google
  • Modulate
  • Meta
  • xAI

19 streaming models. Words appear as you speak them.

Recorded audio 15 engines

  • Apple (on-device)
  • WhisperKit
  • Parakeet
  • OpenAI
  • Deepgram
  • AssemblyAI
  • ElevenLabs
  • Soniox
  • Groq
  • Mistral
  • Rev.ai
  • Google
  • Modulate
  • Meta
  • OpenRouter

Thirteen providers plus two families of models you download and run yourself. Drop in a voice memo, a meeting recording or an old interview.

Reading back 7 on Mac

  • macOS system voices
  • ElevenLabs
  • OpenAI
  • Deepgram Aura
  • Soniox
  • Cartesia
  • Azure

116 built-in voices, plus whatever your provider account lists. Two of these providers are wired up on iPhone.

Tidying it up 20 models

  • Apple Intelligence
  • Offline rules
  • GPT-5 family
  • Claude
  • Gemini
  • Llama
  • Qwen
  • Mistral

Optional clean-up pass that fixes punctuation and filler, or follows a prompt you wrote. Cloud ones route through your OpenRouter key.

Counts are of the shipped model catalogue, Sources/SpeakCore/ModelCatalog.swift. Availability varies by platform and by macOS version — iPhone shows a smaller set.

Missing a model? Open a request → The full provider list →

iPhone & iPad

One press, hands free, eyes off.

The version you use walking down the street. Start it without unlocking, stop it without looking, and find the words when you sit down.

  • The Action ButtonOne press starts it. With the Dictate action it also finishes on its own once you stop talking, and hands the text to whatever comes next in your shortcut.
  • Control Centre and the Lock ScreenA Transcribe control you can swipe to, and Siri phrases for starting, stopping and fetching the last transcription without opening the app.
  • A Live Activity with a real stop buttonThe Dynamic Island shows the status, the word count and the last few words while you talk, and the Stop button in it actually stops the recording.
  • Where the words go is up to youCopy to the clipboard, copy and polish, or save quietly to History. Set it once in Hardware Trigger and every hands-free capture obeys it.
  • To your Mac, through your own iCloudA capture on the phone lands in your Mac’s History within seconds through your private iCloud, with a Continue-on-Mac Handoff pointer. The Mac offers a Paste action; pasting at the cursor is opt-in and reports what it actually did.
  • Hands-free, where the model supports itRecordings started from a control, the Action Button, Siri or a Shortcut can finish themselves after a pause, so you never have to find the phone again.
The iPhone app showing History: session totals along the top and a list of transcriptions, each tagged with the model that produced it.
The iPhone app. Sample history.

For people who script things

Dictation with an API.

Three ways in, one vocabulary. Every surface talks to the running app, so your keys, profiles and model choices stay in one place — and no automation surface ever sees a credential.

Terminal
# A voice memo, straight to the clipboard
$ speak transcribe memo.m4a | pbcopy

# Dictate a commit message
$ speak listen
# ... talk ...
$ git commit -m "$(speak stop)"

# The same verbs, for a coding agent
$ claude mcp add justspeaktoit -- speak mcp

The local socket the CLI and MCP server use is off until you turn it on in Settings → General → Automation. Anything running as you could otherwise start your microphone.

  • Shortcuts, Siri and the Action Button App Intents on both platforms: start, stop and get the text, transcribe a file, fetch the last transcription, or polish text with your own prompt. On iOS, Dictate does the whole thing in one action and finishes when you stop talking.
  • The speak CLI transcribe, listen, stop, history, status. Every command takes --json and prints one versioned envelope for success and failure alike, with distinct exit codes, so scripts can branch properly.
  • An MCP server speak mcp exposes start_dictation, stop_dictation, transcribe_file and get_history over stdio to Claude Code and any other MCP client. Calls are idempotent, so a retrying agent cannot open a second microphone.
  • A URL scheme with callbacks justspeaktoit:// with start, stop, toggle and dictate, a per-capture destination, language, model and maximum duration, and x-callback-url so Drafts, Shortcuts and iOS 17 automations get the text back. Any app can open the scheme, so the microphone only starts with the app in front of you.

Read the automation guide →

Inside the app

Built by someone who uses it all day.

Every one of these settings exists because dictation kept getting the same thing wrong.

  • CorrectionsTeach it the names, jargon and acronyms it keeps mangling.
  • PronunciationA dictionary for words you say differently to the way a model expects.
  • ProfilesBind a model, a language and a clean-up prompt to a specific app, so code and email get different treatment.
  • Post-processingFix punctuation and filler, or run your own instructions over the transcript.
  • Voice outputHave selected text or the clipboard read back to you, in a system or provider voice.
  • HistoryEvery session, searchable, with the trigger that started it, the model, the timings and the estimated cost.
  • ShortcutsTwenty-two rebindable commands beyond the trigger key, from Speak Selected Text to Paste Last History Item.
  • PermissionsA tab that names the exact macOS permission you are missing and how to grant it.
The Mac dashboard: a Start Recording button, session and recording-time totals, a permissions panel showing microphone, speech recognition, accessibility and input monitoring all granted, and an insights panel.
The dashboard and the settings it fronts.View full size ↗

Stop typing what you could just say.

Free, open source, and yours the moment it finishes downloading.