Press a hotkey, speak, and cleaned-up text lands at your cursor, in any app.
More and more, we get things done by instructing agents and speaking is the most direct way to tell them exactly what you mean. But turning voice into filler-free, polished text has so far needed models too big to run anywhere but in the cloud. So every word you dictate, whether to an agent, an email, or a terminal, first goes to someone else's servers.
That's changed. Small, open-weight models are now good enough, and fast. Unramble runs them locally on your Mac: Cohere Transcribe 03-2026 turns your speech into text, Unramble cleans up fillers and formatting, and a fine-tuned 0.6B Qwen3 formats explicit lists. Your voice never leaves your machine.
Watch this short video. You instruct a coding agent out loud, and Unramble turns your speech into clean text at the cursor. It all runs on your Mac, with nothing sent to the cloud.
demo.mp4
Unramble runs in two modes. Incognito, the default mode, does everything on your machine. It needs no API key, works offline, and costs nothing, but it runs only on Apple Silicon and only supports English. Cloud mode sends your audio to OpenAI instead. It works on any Mac and supports more languages, but it needs an internet connection and your own OpenAI API key, and you pay OpenAI's usage rates.
Press Ctrl + Shift + M to switch between modes at any time.
Install with Homebrew or download the DMG. Requires macOS 14 or later.
brew install mrinalwadhwa/unramble/unramble
On first launch, Unramble walks you through setup: pick a mode, give it permission to hear you and type into any app, and try a dictation. If you pick Cloud, Unramble will ask you for your OpenAI API key and store it in your macOS Keychain. You'll need to get one from OpenAI first.
Jump in, we'd love your help.
The single most useful contribution right now is mic compatibility data. Unramble works well with built-in mics and AirPods, but every USB mic, headset, and audio interface is different. The "Contribute Mic Data" menu item generates a one-click diagnostic report that helps us improve dictation accuracy for everyone.
Want to add or improve support for a language? Here's how. Found an app where text injection breaks? Open an issue. Code contributions and pull requests are welcome too — DEVELOP.md has the build and test guide.