Open source · v0.1.0

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.

How it works

Two keystrokes and a sentence

  1. 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. 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. 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.

Why this one

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.

Compared with superwhisper

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.

Download

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.0

x86_64 · GNOME, KDE or any X11/Wayland desktop

  • .deb package — Debian, Ubuntu, Mint, Pop!_OS
  • AppImage — Any distribution, nothing to install

Windows

v0.1.0

Windows 10 1803 or newer · 64-bit

  • Installer — Per-user, no administrator prompt
  • Portable — The bare executable, run from anywhere

macOS

Not yet built

The 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
Questions

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.