Dictate anywhere.
Nothing leaves your machine.
Press a hotkey, say what you mean, press it again. The words are typed into whatever had focus — your editor, your terminal, a form, a chat box. Transcription runs on your own CPU, so there is no upload, no account, and nothing to pay.
Linux and Windows · about 40 seconds to set up · no Python needed
Press Ctrl+Space, say what you mean, press it again. The text is typed into whatever had focus.
Two keystrokes and a sentence
- 1
Press Ctrl+Space
From anywhere. The pill in the corner turns red and starts counting. Nothing else about your desktop changes — no window steals focus, no dialog appears.
- 2
Say it, then press again
Talk for as long as you like. Press the hotkey a second time and recording stops. A local model transcribes it, usually faster than you spoke it.
- 3
The text is already there
It is pasted into the field you were in before you started. If anything goes wrong the recording is on disk and History retries it — the words are never the thing you lose.
Local by construction, not by preference
Most dictation apps can be pointed at a local model. This one has nowhere else to point.
Nothing leaves your machine
Audio is recorded to a local file, transcribed by a local process, and deleted on your schedule. There is no server to send it to — not optional, not a setting. Once setup has finished, the app makes no outbound requests at all.
Free, with nothing held back
No subscription, no trial, no minutes-per-month, no account. There is no paid tier, so there is no feature sitting behind one and no reason for the free version to be deliberately worse than it could be.
It never loses your words
Every recording is written to disk before transcription starts. If the transcriber times out, the paste lands in the wrong window, or the machine dies mid-sentence, the audio is still there and one click retries it.
Linux is a first-class target
Not a port, not a community build. Wayland and X11, GNOME custom keybindings where the compositor refuses a global grab, and keystroke injection through the desktop portal with an XTEST fallback.
Small, because there is no PyTorch
Transcription runs on CTranslate2 rather than a full deep-learning stack. The speech engine is a few hundred megabytes instead of a few gigabytes, and it runs on a plain CPU without complaint.
Nothing to install first
Not even Python. The installer fetches its own private interpreter, the libraries and the model — about forty seconds — and then never needs the network again. Your system Python is left untouched.
An honest table
superwhisper is a polished commercial app that does things this one does not. Here is the whole picture, including the rows that do not flatter us.
| Feature | WhisperKey | superwhisper |
|---|---|---|
| Price | Free | $8.49/month, or a one-off lifetime licence |
| Free tier limit | None | 15 minutes of recording |
| Source code | Open | Closed |
| Linux | Yes | No |
| Windows | Yes | Yes |
| macOS and iOS | Not yet | Yes |
| Account required | No | Yes |
| Runs offline | Always | With a local model |
| Cloud models | No | Yes |
| AI rewriting, custom modes | No | Yes |
superwhisper details checked on 5 August 2026 at superwhisper.com. Prices change — their page is the authority, not this table.
Version 0.1.0
The installer sets up everything, including its own Python. Nothing
else is required, and nothing is added to your PATH.
Linux
v0.1.0x86_64 · GNOME, KDE or any X11/Wayland desktop
- .deb package — Debian, Ubuntu, Mint, Pop!_OS
- AppImage — Any distribution, nothing to install
Windows
v0.1.0Windows 10 1803 or newer · 64-bit
- Installer — Per-user, no administrator prompt
- Portable — The bare executable, run from anywhere
macOS
Not yet builtThe macOS code is written — CoreAudio capture, Cmd+V injection, the permission prompts. What is missing is a Mac to compile and sign it on, so no build exists yet and there is nothing honest to put here.
SHA-256 checksums
Verify with sha256sum on Linux or
Get-FileHash in PowerShell. The builds are unsigned, so this is
the only way to confirm you have the file that was actually published.
| WhisperKey_0.1.0_amd64.deb | a5a4a01bffb171d97ad13791776c8e4eebfc2647c0bb24d3fcaf235214a8f6d7 |
| WhisperKey_0.1.0_amd64.AppImage | 92fd3d45bde902f208b7f29974b7942abad6055b4c6bccb0f9fad65fa49ac706 |
| WhisperKey_0.1.0_x64-setup.exe | d8745a1da2ae72cf0db86349b29d308355202d47f0f1a64dcb1b389ff3f0479a |
| WhisperKey_0.1.0_x64-portable.exe | 2be5fb59de6749855266e93662d5952e781f2a00cbaa7d079c620058dee4572a |
Worth knowing before you install
Is the audio really never uploaded?
Yes — and you can check rather than trust, because the source is public. Once setup has finished the app makes no outbound connections. The only network use is the first-run download of the model, and you are welcome to watch that finish and then unplug.
How accurate is it?
It ships with Whisper small.en, which handles ordinary
English speech well and copes with technical words in context. It
is not as accurate as the largest cloud models, and as configured
it is English-only. Both the model and the language are settings.
Does it need a GPU?
No. It runs on the CPU through CTranslate2, comfortably faster than real time on an ordinary laptop — a thirty-second clip takes a few seconds.
Why does Windows warn me about the installer?
Because it is unsigned. A code-signing certificate costs a few hundred dollars a year and this project has no revenue, so SmartScreen shows a warning: More info → Run anyway. If you would rather not take that on faith, verify the checksum above.
What about macOS?
The code is done — CoreAudio capture, Cmd+V injection behind the Accessibility check macOS requires, and the microphone permission string. What is missing is a Mac to compile it on: cross-compiling from Linux needs an Apple SDK, so nothing has ever been built or signed. Until that happens there is no download, because listing one would mean listing something nobody has run.
Can I change the hotkey?
Yes. Ctrl+Space is the default and it clashes with some editors' autocomplete, so Settings will take anything else. If the combination you pick is already held by another application, the one you had keeps working and the app tells you why — rather than leaving you with no hotkey at all.