Skip to content

leftouterjoins/voicewrite

Repository files navigation

VoiceWrite

VoiceWrite

Private, on-device voice-to-text for macOS

FeaturesRequirementsInstallationUsageFAQBuilding

macOS 26+ Swift 6.2 MIT License Latest Release

VoiceWrite in action


Features

  • 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.

Requirements

  • macOS 26.0 (Tahoe) or later
  • Microphone permission
  • Accessibility permission (for typing transcribed text)

Installation

Download

  1. Download the latest .dmg from Releases
  2. Open the DMG and drag VoiceWrite to Applications
  3. Launch VoiceWrite from Applications

Build from Source

See Building below.

Usage

  1. Launch VoiceWrite — It appears in your menu bar as a microphone icon
  2. Grant permissions when prompted:
    • Microphone — Required for speech recognition
    • Accessibility — Required to type text into other apps
  3. Press Ctrl+V (or your custom hotkey) to start dictating
  4. Speak naturally — Watch the screen border pulse with your voice
  5. Press Ctrl+V again to stop and insert the transcription

Settings

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

Border Colors

Choose from four themes:

  • Red/Orange (default)
  • Blue/Cyan
  • Green/Teal
  • Purple/Pink

Building

Prerequisites

  • macOS 26.0+ with Xcode 16+
  • Swift 6.2

Build Commands

# 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 clean

FAQ

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.

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.


Privacy

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.

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for guidelines.

License

MIT License — see LICENSE for details.

Acknowledgments

About

Private, on-device voice-to-text for macOS. Free, open source, no subscription.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors