Privacy guide · 7 min
Offline speech to text on Mac, without sending your recordings away.
VoiceToText downloads a speech model to your Mac and transcribes locally after that. You can dictate into any app, transcribe files, and record meetings without uploading the audio when a local model is selected.
- Local models by default
- No app account
- Source on GitHub
- macOS 15+ · Apple Silicon
The short answer
Choose Parakeet or Whisper in VoiceToText and the actual transcription runs on your Mac. The initial app and model downloads need an internet connection, and the app checks GitHub for updates. Audio is sent off-device only when you deliberately select an optional cloud transcription model or run an AI transcript action with your own provider key.
Define the boundary
“Offline” should describe the audio path, not make a blanket network claim.
In local mode, microphone or file audio is processed by a downloaded model on the Mac. The transcript is produced on-device and the app does not need to upload that recording to a VoiceToText server—there is no VoiceToText account or first-party transcription service.
A new installation still needs to download the app and a model. VoiceToText also checks GitHub Releases for updates. Those connections are different from sending the content of a dictation or meeting to a transcription provider.
Cloud models remain available as an explicit choice. If you select one, the audio goes directly to that provider under the API key you supply. AI cleanup actions likewise require a provider. For a strictly local session, stay on Parakeet or Whisper and do the final edit yourself.
Set it up
A local dictation workflow in four deliberate steps.
Install the signed app
Download the DMG from GitHub Releases, move VoiceToText to Applications, and open it. Current builds require macOS 15 or later on Apple Silicon.
Download one local model
Start with Parakeet for a responsive English workflow or choose a Whisper size when multilingual coverage or a different speed-and-quality tradeoff matters.
Grant only the needed permissions
Microphone captures speech. Accessibility lets the app paste at the focused cursor. Meeting capture separately uses Screen Recording permission to receive system audio.
Confirm the selected engine
Before sensitive work, check Settings → Models and make sure a local Parakeet or Whisper engine—not an OpenAI or ElevenLabs option—is active.
Use it beyond a memo
One local engine can serve short dictation, files, and long conversations.
For everyday writing, put the cursor in Mail, Notes, a browser, chat, or a code editor. Press the global shortcut, speak, stop, review, and paste. The review step is useful when names, numbers, or commands must be exact; instant paste is available when speed matters more.
For existing audio or video, import the file from Conversations. VoiceToText extracts its audio, runs the chosen local model, and stores the transcript in the on-device history. That is a better fit for confidential interviews or research recordings than a browser uploader when organizational policy forbids sending recordings to a third party.
For meetings, VoiceToText can capture the microphone and Mac system audio together. Local transcription keeps the recording on the machine, but consent obligations do not disappear: recording laws and workplace rules vary, so tell participants and follow the rules that apply to the call.
Know the tradeoffs
Local processing gives control, but it is not automatically the best result for every recording.
Hardware matters
Larger Whisper models use more storage, memory, and processing time. A smaller model or Parakeet can feel better for rapid dictation on a memory-constrained Mac.
Audio quality still matters
Distance from the microphone, overlapping speakers, room noise, and domain-specific names can all change the transcript. Review important output against the recording.
Languages differ by model
Do not assume every engine covers the same languages equally. Use a representative sample in your language and compare models before committing to a long recording.
Local is not anonymous
Transcripts and recordings stored on the Mac are still data. Protect the user account, enable disk encryption, and delete sensitive history when it is no longer needed.
Side-by-side
Compare the practical differences.
| Decision point | Local model | Optional cloud model |
|---|---|---|
| Audio processing | Runs on the Mac after the model download. | Runs at the selected external provider. |
| Internet during transcription | Not required. | Required. |
| Provider account | No account or API key required. | Your own provider API key is required. |
| Best fit | Private or offline work, predictable control, and no usage billing. | A specific cloud capability, realtime output, or a difficult recording you choose to send. |
| What to verify | Active model, local storage policy, and transcript quality on your audio. | Provider terms, retention controls, cost, and whether the audio is permitted to leave the device. |
Primary sources
Check the claims at the source.
Product behavior changes. These official pages were reviewed on July 27, 2026.
- VoiceToText source repository ↗
The public Swift source, installation notes, feature list, and issue history for the app described on this page.
- VoiceToText releases ↗
Signed release downloads and version history. Review the current release notes before installing.
- OpenAI Whisper model card ↗
Primary documentation for Whisper’s model family, intended uses, multilingual training, and limitations such as uneven performance and possible hallucinations.
Keep exploring
Related Mac voice-to-text guides.
Try a complete dictation with Wi-Fi off.
Download a local model once, disconnect, and test the whole record–transcribe–review–paste loop on your own Mac.