Local dictation for macOS.

100% local / no cloud / MIT license

Hold a key, speak, release. Your words appear at the cursor. Powered by whisper.cpp with Metal acceleration. No audio or text ever leaves your machine.

Terminal One command install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/human37/open-wispr/main/scripts/install.sh)"
Free & open source forever. Leave a tip →

See it in action

Demo Looping animation
Globe
Idle

How it works

Everything you need. Nothing you don't.

01
Hold
Press and hold the Globe key. Recording starts instantly. A waveform animates in your menu bar.
02
Speak
Talk naturally. Whisper runs on your GPU via Metal. No network latency, no cloud processing.
03
Release
Let go. Transcribed text is typed at your cursor. Works in any app. The temp audio file is deleted.

Powered by Whisper

Better than Apple Dictation.

Whisper is an open-source speech recognition model from OpenAI, trained on 680,000 hours of multilingual audio. It's widely regarded as the most accurate general-purpose transcription model available.

open-wispr runs Whisper locally through whisper.cpp, a high-performance C/C++ port by Georgi Gerganov that takes advantage of Apple's Metal GPU framework for hardware-accelerated inference on Apple Silicon.

Unlike Apple's built-in dictation, Whisper handles punctuation, technical jargon, code terms, and accented speech far more reliably. And unlike cloud dictation services, nothing is ever sent to a server.

vs. Apple Dictation

Accuracy Significantly better
Punctuation Automatic
Technical terms Handles well
Privacy 100% on-device
Internet required No
Languages 99 supported
Works in any app Yes

Install flow

Guided setup. Under a minute.

01
Paste the install command. It taps the Homebrew formula and installs the binary. Everything downloads behind a spinner.
02
Grant Accessibility permission. The installer opens System Settings for you and waits. Toggle the switch, come back.
03
Grant Microphone permission. A system dialog appears. Click Allow. One time only.
04
Model downloads automatically. The default base.en model (142 MB) downloads on first launch. You can change this later.
05
Service starts. A waveform icon appears in your menu bar. Hold Globe, speak, release. Done.

Features

Nothing extra. Nothing missing.

Private

Audio is recorded to a temp file, transcribed locally, and deleted. Zero network requests. No accounts, no telemetry, no cloud.

Fast

Runs on Apple Silicon GPU via whisper.cpp and Metal. Transcription is real-time or faster on M1 and above.

Universal

Text appears at your cursor in any app. Editors, browsers, terminals, Slack, email. No plugins or integrations needed.

Configurable

Choose your hotkey, model size, and language. One command to change, one restart to apply. Everything in the terminal.

Multilingual

Supports 99 languages via Whisper's multilingual models. Set an ISO 639-1 code in the config and use a non-.en model.

Lightweight

No Electron. No app bundle to drag. Installs via Homebrew, runs as a background service. Sits quietly in your menu bar.

Configuration

Two commands.

Hotkey
open-wispr set-hotkey globe          # default
open-wispr set-hotkey rightoption   # Right Option
open-wispr set-hotkey f5            # F5
open-wispr set-hotkey ctrl+space    # Ctrl + Space

brew services restart open-wispr
Model
open-wispr set-model tiny.en        # 75 MB, fastest
open-wispr set-model base.en        # 142 MB, default
open-wispr set-model small.en       # 466 MB, accurate
open-wispr set-model medium.en      # 1.5 GB, best

brew services restart open-wispr

Or edit the config file directly at ~/.config/open-wispr/config.json and restart the service.

What people say

"I use this with Claude Code every day. Hold the key, say what I want, and it just types it out. No more switching between keyboard and some dictation app. It's perfect for long prompts."

Tanner Thorne
Software Engineer