Local Whisper is a local-first speech-to-text app and dictation service for macOS, iOS, and Android. You use it where you already type: press a shortcut on macOS, speak, and get cleaned text copied or pasted without sending audio to a hosted speech API. After setup and model downloads, built-in runtime paths stay on-device or localhost. Grammar cleanup can also use a private LAN LM Studio server when you configure one. Local Whisper has no hosted speech fallback, no account requirement, no telemetry, and no transcript upload.

Quickstart

Install the macOS service, build the UI, and start dictating.

Installation

Choose the Homebrew installer, manual Homebrew setup, or source setup path.

Mobile apps

Understand the Flutter app, iOS keyboard, Android input method, and model packs.

Configuration

Review the full TOML reference for engines, grammar, audio, output, and TTS.

Architecture

See how Python, Swift, Flutter, native mobile, IPC, and local models fit together.

Runtime paths

Runtime pathWhere it runs
Recording and audio cleanupOn device
Parakeet-TDT v3 and Qwen3-ASR transcriptionIn-process MLX
Android Parakeet-TDT v3 and Qwen3-ASR transcriptionOn-device sherpa-onnx
WhisperKit transcriptionLocalhost
Grammar cleanupApple Intelligence on-device; Ollama or LM Studio on localhost or private LAN
Text-to-speechIn-process Kokoro MLX
History and backups~/.whisper/

Surfaces

SurfaceWhat it provides
macOS service and CLIGlobal dictation hotkey, local transcription, grammar cleanup, replacements, clipboard or paste output, history, TTS, and service control through wh.
macOS Swift UIMenu bar status, engine and grammar switching, overlay states, history, settings, updates, and service controls.
Flutter iOS app and keyboardLocal WhisperKit/Core ML transcription, setup, model packs, local history, modes, punctuation, haptics, and text-field workflows.
Flutter Android app and keyboardLocal WAV recording, sherpa-onnx transcription, model packs, keyboard verification, punctuation, quick insert, and haptics.

Project promise

Local Whisper is built for local dictation and local text handling. Setup, model downloads, wh update, and repair commands can use the network. Normal audio and transcript processing stays on-device, localhost, or a private LAN server you explicitly configure.