jvogan/whisper-hud

System-wide voice-to-text for macOS. Hold a hotkey, speak, text appears at your cursor. Supports OpenAI, Gemini, Apple Speech & local models. No subscription — bring your own API keys.

1

stars

118

commits

Python

primary language

Aug 5, 2026

updated

jvogan.github.io/whisper-hud/
accessibility
byok
dictation
gemini
macos
macos-app
menu-bar-app
openai
privacy
push-to-talk
python
speech-recognition
speech-to-text
stt
transcription
voice-to-text
whisper
whisper-api
Browse cluster: Whisper Speech Recognition & Deployment

README

WhisperHUD - voice to text, invisibly

voice → text, invisibly

Python 3.11+ Platform: macOS License: MIT Lint Status Test Status

System-wide voice-to-text for macOS.
Hold a hotkey anywhere, speak, and text appears at your cursor.
No subscription. No account. Bring your own API keys — or use it fully local for free.


WhisperHUD demo — hold hotkey, speak, text appears


Why WhisperHUD?

  • Works everywhere — dictate into any app, any text field, any terminal. System-wide, not app-specific.
  • Free local option — choose Apple Speech (built-in, no API key, no cost) and start transcribing in 30 seconds.
  • Private by default — no telemetry, no data collection. Local providers keep everything on-device. Cloud keys are encrypted at rest.
  • No subscription — bring your own API keys. Typical cloud cost: $0.001 per dictation.
  • 50+ language translation — transcribe in one language, paste in another. Local or cloud.

Quickstart

./install.sh

That's it. On first launch, choose Apple (Built-in) to start free with zero setup — or configure a cloud provider for higher accuracy.

First-time macOS permissions (one-time setup)

macOS requires three permissions for WhisperHUD to work:

  1. Accessibility — System Settings → Privacy & Security → Accessibility → enable WhisperHUD or your terminal
  2. Microphone — System Settings → Privacy & Security → Microphone → enable WhisperHUD or your terminal
  3. Automation — on first paste, click OK when macOS asks to control System Events

If a prompt was dismissed, re-enable it in System Settings → Privacy & Security → Automation.

Providers

ProviderTypeSetupCost
Apple SpeechLocalNone — built into macOSFree
Whisper LocalLocalpip install -e ".[whisper-local]"Free
ParakeetLocalpip install -e ".[parakeet]" (Apple Silicon)Free
Google GeminiCloudGet API key (free tier)~$0.001/min
OpenAI WhisperCloudGet API key~$0.003-0.006/min
OpenAI RealtimeCloudSame OpenAI key — live streamingRealtime pricing

Typical usage (30s of speech): $0.001 - $0.003 with cloud providers. Local providers are completely free.

How It Works

ActionHow
Start recordingHold Cmd+Shift+Space
Stop & transcribeRelease the hotkey (or wait for auto-stop)
Click to recordEnable floating button in Settings

Text is automatically pasted wherever your cursor is. The menu bar icon shows status: ready, recording, processing, or done.

Features

Core — Hold-to-record with auto-transcribe and auto-paste. Visual feedback via menu bar icon and optional HUD overlay. Auto-stop on silence. Streaming display shows live text as it's recognized.

Translation — Transcribe in one language, paste in another. 50+ languages supported. Local translation via Apple Translation (macOS 26+) or Ollama keeps data on-device. Cloud translation via Gemini, OpenAI, or Anthropic.

Privacy & Security — Three API key storage modes: passphrase-encrypted (default), macOS Keychain, or session-only. Audio processed in memory. Local providers never send data off-device. No telemetry or data collection. Files saved with user-only permissions.

Extras — Cost tracking in the menu bar. Configurable floating record button. Character packs for widget customization. Launch at login support.

Comparison

WhisperHUDmacOS DictationSuperwhisperWhisper.cpp CLI
System-wide pasteYesYesYesNo (manual copy)
Bring your own keyYesN/ANo (subscription)N/A
Local + cloud providersBothLocal onlyBothLocal only
Translation built-inYes (50+ langs)NoNoNo
Streaming previewYesYesYesNo
CostFree / BYOKFree$8-16/moFree
Open sourceYes (MIT)NoNoYes

Getting API Keys

Google Gemini (free tier available)
  1. Go to aistudio.google.com/apikey
  2. Create a new API key
  3. Free tier includes generous usage limits
OpenAI
  1. Go to platform.openai.com/api-keys
  2. Create a new API key
  3. Add billing/credits to your account

OpenAI Realtime uses the same API key as batch transcription.

Anthropic (translation only)
  1. Go to console.anthropic.com/settings/keys
  2. Create a new API key
  3. Add billing/credits to your account

Documentation

DocDescription
SettingsAll settings, translation setup, streaming display
API ProvidersProvider comparison and configuration
Keyboard ShortcutsHotkey reference and customization
TroubleshootingCommon issues and solutions
FAQFrequently asked questions
Developer GuideContributing, architecture, building from source
SecuritySecurity model and vulnerability reporting

Requirements

  • macOS 12+ (Monterey or later; Apple Translation requires macOS 26+)
  • Python 3.11+
  • Cloud API key only if using cloud providers (not required for Apple Speech, Whisper Local, or Parakeet)

License

MIT License — see LICENSE for details.

Contributing

See CONTRIBUTING.md for how to contribute. All contributors welcome.

Contributors

jvogan

108 commits

claude

2 commits

jvogan/whisper-hud

System-wide voice-to-text for macOS. Hold a hotkey, speak, text appears at your cursor. Supports OpenAI, Gemini, Apple Speech & local models. No subscription — bring your own API keys.

1

stars

118

commits

Python

primary language

Aug 5, 2026

updated

jvogan.github.io/whisper-hud/
accessibility
byok
dictation
gemini
macos
macos-app
menu-bar-app
openai
privacy
push-to-talk
python
speech-recognition
speech-to-text
stt
transcription
voice-to-text
whisper
whisper-api
Browse cluster: Whisper Speech Recognition & Deployment

README

WhisperHUD - voice to text, invisibly

voice → text, invisibly

Python 3.11+ Platform: macOS License: MIT Lint Status Test Status

System-wide voice-to-text for macOS.
Hold a hotkey anywhere, speak, and text appears at your cursor.
No subscription. No account. Bring your own API keys — or use it fully local for free.


WhisperHUD demo — hold hotkey, speak, text appears


Why WhisperHUD?

  • Works everywhere — dictate into any app, any text field, any terminal. System-wide, not app-specific.
  • Free local option — choose Apple Speech (built-in, no API key, no cost) and start transcribing in 30 seconds.
  • Private by default — no telemetry, no data collection. Local providers keep everything on-device. Cloud keys are encrypted at rest.
  • No subscription — bring your own API keys. Typical cloud cost: $0.001 per dictation.
  • 50+ language translation — transcribe in one language, paste in another. Local or cloud.

Quickstart

./install.sh

That's it. On first launch, choose Apple (Built-in) to start free with zero setup — or configure a cloud provider for higher accuracy.

First-time macOS permissions (one-time setup)

macOS requires three permissions for WhisperHUD to work:

  1. Accessibility — System Settings → Privacy & Security → Accessibility → enable WhisperHUD or your terminal
  2. Microphone — System Settings → Privacy & Security → Microphone → enable WhisperHUD or your terminal
  3. Automation — on first paste, click OK when macOS asks to control System Events

If a prompt was dismissed, re-enable it in System Settings → Privacy & Security → Automation.

Providers

ProviderTypeSetupCost
Apple SpeechLocalNone — built into macOSFree
Whisper LocalLocalpip install -e ".[whisper-local]"Free
ParakeetLocalpip install -e ".[parakeet]" (Apple Silicon)Free
Google GeminiCloudGet API key (free tier)~$0.001/min
OpenAI WhisperCloudGet API key~$0.003-0.006/min
OpenAI RealtimeCloudSame OpenAI key — live streamingRealtime pricing

Typical usage (30s of speech): $0.001 - $0.003 with cloud providers. Local providers are completely free.

How It Works

ActionHow
Start recordingHold Cmd+Shift+Space
Stop & transcribeRelease the hotkey (or wait for auto-stop)
Click to recordEnable floating button in Settings

Text is automatically pasted wherever your cursor is. The menu bar icon shows status: ready, recording, processing, or done.

Features

Core — Hold-to-record with auto-transcribe and auto-paste. Visual feedback via menu bar icon and optional HUD overlay. Auto-stop on silence. Streaming display shows live text as it's recognized.

Translation — Transcribe in one language, paste in another. 50+ languages supported. Local translation via Apple Translation (macOS 26+) or Ollama keeps data on-device. Cloud translation via Gemini, OpenAI, or Anthropic.

Privacy & Security — Three API key storage modes: passphrase-encrypted (default), macOS Keychain, or session-only. Audio processed in memory. Local providers never send data off-device. No telemetry or data collection. Files saved with user-only permissions.

Extras — Cost tracking in the menu bar. Configurable floating record button. Character packs for widget customization. Launch at login support.

Comparison

WhisperHUDmacOS DictationSuperwhisperWhisper.cpp CLI
System-wide pasteYesYesYesNo (manual copy)
Bring your own keyYesN/ANo (subscription)N/A
Local + cloud providersBothLocal onlyBothLocal only
Translation built-inYes (50+ langs)NoNoNo
Streaming previewYesYesYesNo
CostFree / BYOKFree$8-16/moFree
Open sourceYes (MIT)NoNoYes

Getting API Keys

Google Gemini (free tier available)
  1. Go to aistudio.google.com/apikey
  2. Create a new API key
  3. Free tier includes generous usage limits
OpenAI
  1. Go to platform.openai.com/api-keys
  2. Create a new API key
  3. Add billing/credits to your account

OpenAI Realtime uses the same API key as batch transcription.

Anthropic (translation only)
  1. Go to console.anthropic.com/settings/keys
  2. Create a new API key
  3. Add billing/credits to your account

Documentation

DocDescription
SettingsAll settings, translation setup, streaming display
API ProvidersProvider comparison and configuration
Keyboard ShortcutsHotkey reference and customization
TroubleshootingCommon issues and solutions
FAQFrequently asked questions
Developer GuideContributing, architecture, building from source
SecuritySecurity model and vulnerability reporting

Requirements

  • macOS 12+ (Monterey or later; Apple Translation requires macOS 26+)
  • Python 3.11+
  • Cloud API key only if using cloud providers (not required for Apple Speech, Whisper Local, or Parakeet)

License

MIT License — see LICENSE for details.

Contributing

See CONTRIBUTING.md for how to contribute. All contributors welcome.

Contributors

jvogan

108 commits

claude

2 commits

Languages

Python

96.6%

Shell

2.3%