Private, on-device voice-to-text for macOS
Features • Requirements • Installation • Usage • FAQ • Building
- Privacy-first — Uses Apple's on-device SpeechAnalyzer. No cloud, no subscription, no data leaves your Mac.
- Lightweight — Under 1MB with no bundled models. Speech models are managed by macOS.
- Visual feedback — Screen border glows while recording so you know it's working.
- Works anywhere — Global hotkey lets you dictate into any app.
- Customizable — Choose border colors and set your preferred keyboard shortcut.
- Open source — MIT licensed. Free forever.
- macOS 26.0 (Tahoe) or later
- Microphone permission
- Accessibility permission (for typing transcribed text)
- Download the latest
.dmgfrom Releases - Open the DMG and drag VoiceWrite to Applications
- Launch VoiceWrite from Applications
See Building below.
- Launch VoiceWrite — It appears in your menu bar as a microphone icon
- Grant permissions when prompted:
- Microphone — Required for speech recognition
- Accessibility — Required to type text into other apps
- Press Ctrl+V (or your custom hotkey) to start dictating
- Speak naturally — Watch the screen border pulse with your voice
- Press Ctrl+V again to stop and insert the transcription
Access settings via the menu bar icon:
| Tab | Options |
|---|---|
| General | Launch at Login, Border color theme |
| Hotkey | Customize the global shortcut |
| Permissions | Check and request system permissions |
Choose from four themes:
- Red/Orange (default)
- Blue/Cyan
- Green/Teal
- Purple/Pink
- macOS 26.0+ with Xcode 16+
- Swift 6.2
# Clone the repository
git clone https://github.com/leftouterjoins/voicewrite.git
cd voicewrite
# Build (debug)
make build
# Build release app bundle
make app
# Run the app
make run
# Clean build artifacts
make cleanWhy 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.
What are the system requirements?
macOS 26 (Tahoe) or later. VoiceWrite uses Apple's SpeechAnalyzer API which is only available on macOS 26+.
Does it work offline?
Yes. All speech recognition happens on-device using Apple's native models. No internet connection required.
What permissions does it need?
Microphone access for recording and Accessibility permission to type text into other apps.
Is it really free?
Yes. VoiceWrite is free and open source under the MIT license. No subscriptions, no ads, no accounts.
What languages are supported?
VoiceWrite supports 22 languages via Apple's SpeechAnalyzer: العربية, Dansk, Deutsch, English, Español, Suomi, Français, עברית, Italiano, 日本語, 한국어, Bahasa Melayu, Norsk, Nederlands, Português, Русский, Svenska, ไทย, Türkçe, Tiếng Việt, 粵語, 中文. It automatically uses your system language.
Can I change the keyboard shortcut?
Yes. Open VoiceWrite settings and click the hotkey field to record a new shortcut. The default is Cmd+Shift+D.
VoiceWrite is designed with privacy as a core principle:
- 100% on-device — Speech recognition uses Apple's SpeechAnalyzer API
- No network access — The app never connects to the internet
- No analytics — No tracking, telemetry, or usage data collection
- Open source — Audit the code yourself
Read the full Privacy Policy.
Contributions are welcome! Please read CONTRIBUTING.md for guidelines.
MIT License — see LICENSE for details.
- KeyboardShortcuts by @sindresorhus
- Apple's SpeechAnalyzer API
