Your voice stays on your Mac
VoiceWrite uses Apple's on-device SpeechAnalyzer. No cloud servers, no subscriptions, no data collection. Just press your hotkey and talk.
Requires macOS 26.0 (Tahoe) or later
Why VoiceWrite?
Privacy First
100% on-device speech recognition using Apple's SpeechAnalyzer. Your audio never leaves your Mac.
Smart Punctuation
Automatic periods, commas, and question marks. Optional emoji conversion—say "heart" to type ❤️.
Visual Feedback
Screen border glows while recording so you always know it's working.
Tiny Footprint
Just 1.5MB on disk—no bundled ML models like Whisper. macOS manages speech assets automatically.
Real-Time Typing
Words appear as you speak, not dumped after you stop. See your text flow naturally into any app.
Open Source
MIT licensed, free forever. Audit the code, contribute improvements, or fork it for your own projects.
How It Works
Launch
VoiceWrite lives in your menu bar. Grant microphone and accessibility permissions on first run.
Press Hotkey
Hit Ctrl+V (customizable) from anywhere. The screen border lights up to show you're recording.
Speak
Talk naturally. See your words appear in real-time with live transcription preview.
Done
Press the hotkey again. Your transcribed text is typed into the active app automatically.
FAQ
How is VoiceWrite different from other dictation apps?
VoiceWrite is designed for quick, single-line input — not long-form dictation. It's ideal for form fields, quick messages, search queries, short notes, and vibe coding. For paragraphs or documents, use macOS's built-in Dictation.
Why does text get retyped as I speak?
VoiceWrite shows real-time results by deleting and retyping text as the transcription updates. This works best for short phrases. For longer input, pause briefly to let the transcription stabilize.
Does it work in Terminal?
Yes! VoiceWrite uses standard macOS keyboard shortcuts (Ctrl-A, Ctrl-K) that work in Terminal, text editors, and virtually any app.
Get VoiceWrite
Free. Open source. No account required.
Download Latest ReleaseVersion 1.1.0 · Changelog