100% offline voice dictation for macOS, Windows & Linux.
Press a shortcut, speak, and your words appear in any app — entirely on your machine.
Website · Download · iOS · Android · Community
- 🔒 100% offline — no network calls, no cloud, no telemetry. Your voice never leaves your machine.
- 🆓 Free & open source — MIT licensed, no subscription, no account required.
- ⚡ Fast & accurate — Whisper (GPU-accelerated) or Parakeet V3 (CPU, ~5× realtime).
- 🖥 Cross-platform — macOS (Apple Silicon & Intel), Windows, Linux.
- ⌨️ Anywhere you type — global shortcut pastes transcription into the focused app.
-
Install. On macOS, via Homebrew:
brew tap getdictus/tap brew install --cask dictus
Dictus updates itself, so
brew upgradedeliberately skips it. To let Homebrew drive updates instead:brew upgrade --cask --greedy dictus
Otherwise, download the latest build from Releases (macOS
.dmg, Windows.msi, Linux.AppImage/.deb). Windows users: the installer is not yet code-signed — see Code signing. -
Launch Dictus Desktop and grant microphone + accessibility permissions.
-
Configure your shortcut in Settings (default works out of the box).
-
Press, speak, release — your words land in any text field.
Building from source? See BUILD.md.
- Press a configurable shortcut to start/stop recording (or push-to-talk).
- Speak — Silero VAD filters silence in real time.
- Whisper or Parakeet transcribes locally — GPU when available, CPU otherwise.
- Transcribed text is pasted into the focused application.
Dictus runs locally by default. Transcription never leaves your device. Cloud post-processing is OFF by default and opt-in. For the complete list of every outbound network endpoint the app can contact (with how to disable each), see docs/PRIVACY.md.
| Feature | Dictus Desktop | SuperWhisper | Wispr Flow | MacWhisper |
|---|---|---|---|---|
| Price | Free | Free / $8.49/mo | Free / $15/mo | Free / $6.99/mo |
| 100% offline | ✅ | ❌ | ||
| Privacy-first | ✅ | ❌ | ||
| Open source | ✅ | ❌ | ❌ | ❌ |
| Platforms | macOS · Windows · Linux | iOS · macOS · Win | iOS · macOS · Win · Android | iOS · macOS |
| Mobile companion | ✅ (iOS · Android) | macOS-only ecosystem | partial | macOS-only ecosystem |
| Model | CPU | GPU | Notes |
|---|---|---|---|
| Whisper Small / Medium / Turbo / Large | ✓ | ⭐ | GPU recommended for Medium+ |
| Parakeet V3 | ⭐ | — | CPU-optimized, ~5× realtime, auto language detection |
Dictus Desktop is a Tauri app: a React + TypeScript settings UI on top of a Rust core.
whisper-rs— Whisper inferencetranscribe-rs— Parakeet V3 inferencecpal— cross-platform audio capturevad-rs— Silero Voice Activity Detectionrdev/ OS APIs — global shortcuts and paste
- macOS (Apple Silicon + Intel), Windows x64, Linux x64
- Whisper + Parakeet V3 engines
- CLI flags & signal-based control
- Smart Mode Pro — local LLM reformulation
- Custom vocabulary (technical terms, names)
- Audio-file transcription
- Searchable local history
- Sync settings across Dictus iOS / Android / Desktop (offline-first, peer-to-peer)
Open an issue with a feature request — we prioritize the most-upvoted ideas.
Linux — text input tools & global shortcuts
For reliable text input, install the right tool for your display server:
| Display Server | Tool | Install |
|---|---|---|
| X11 | xdotool |
sudo apt install xdotool |
| Wayland | wtype |
sudo apt install wtype |
| Both | dotool |
sudo apt install dotool (add user to input group) |
Runtime library: if startup fails with libgtk-layer-shell.so.0, install your distro's package (libgtk-layer-shell0 on Debian/Ubuntu, gtk-layer-shell on Fedora/Arch).
Wayland shortcuts: must be configured at the desktop-environment level. Use the CLI flags below as the command for your custom binding:
handy --toggle-transcription # toggle recording
handy --toggle-post-process # toggle with post-processing
handy --cancel # cancel current operationSway / i3 example:
bindsym $mod+o exec handy --toggle-transcriptionOr via Unix signals (works with any hotkey daemon):
pkill -USR2 -n handy # toggle transcription
pkill -USR1 -n handy # toggle with post-processingmacOS — CLI usage when installed as a bundle
/Applications/Dictus.app/Contents/MacOS/handy --toggle-transcriptionCLI flags
handy --toggle-transcription # Toggle recording
handy --toggle-post-process # Toggle recording with post-processing
handy --cancel # Cancel current operation
handy --start-hidden # Start without showing the main window
handy --no-tray # Start without the system tray icon
handy --debug # Enable verbose logging
handy --help # Show all flagsThe binary is currently named
handy(a V2 rename is planned).
Whisper (GPU recommended for Medium+):
- macOS — Apple Silicon or Intel
- Windows — Intel / AMD / NVIDIA GPU
- Linux — Intel / AMD / NVIDIA GPU (Ubuntu 22.04 / 24.04 tested)
Parakeet V3 (CPU-only):
- Intel Skylake (6th gen) / AMD equivalent or newer
Release binaries are built and signed by GitHub Actions from this repository. Nothing is signed on a maintainer's machine.
| Platform | Status |
|---|---|
| macOS | Signed with an Apple Developer ID certificate and notarized by Apple. Opens normally. |
| Windows | Not signed yet. See below. |
| Linux | No OS-level publisher signature — Linux desktops do not gate unsigned packages. Verify with minisign, below. |
Every artifact of every release is also signed with a Tauri (minisign / Ed25519) key, which is why you see a .sig next to each file on the Releases page. The in-app auto-updater verifies that signature and refuses any package our release pipeline did not produce. This protects updates end to end, but the operating system knows nothing about it at install time — it is not a substitute for an Authenticode or Apple Developer ID signature.
You can check any artifact against the same key the updater uses, on any platform:
Download the artifact and its matching .sig from the same release, then install minisign (brew install minisign, apt install minisign) and run:
# Tauri stores the signature base64-wrapped — decode it into a .minisig first
base64 -d < Dictus_0.2.1_amd64.AppImage.sig > Dictus_0.2.1_amd64.AppImage.minisig
minisign -Vm Dictus_0.2.1_amd64.AppImage \
-x Dictus_0.2.1_amd64.AppImage.minisig \
-P RWR2WmxAApzMc6chtF8evBFdPl+a+0SsJnL42axGW19mrbLZjCTk3MGEExpected output — anything else means do not install the file:
Signature and comment signature verified
Trusted comment: timestamp:... file:Dictus_0.2.1_amd64.AppImage
The public key above is the one embedded in src-tauri/tauri.conf.json as plugins.updater.pubkey (stored there base64-wrapped).
Because the Windows installer carries no code-signing certificate, Microsoft SmartScreen shows a blue "Windows protected your PC" screen, and the UAC prompt reads "Unknown publisher". Some antivirus products may also flag the installer as suspicious.
To install anyway: click More info → Run anyway.
If you would rather not do that, build from source — the result is identical to what our CI produces.
We have applied to the SignPath Foundation free code-signing programme for open source projects. Once accepted, Windows releases will be signed from CI with a certificate issued by a trusted CA, and the publisher shown in Windows dialogs will be SignPath Foundation.
Progress is tracked in issue #38.
Dictus collects no data from its users — no telemetry, no analytics, no accounts. The application performs transcription entirely on-device. See docs/PRIVACY.md for the complete list of every outbound network endpoint the app can contact and how to disable each one.
This project is actively developed. See open issues for current state. Major items:
- Whisper crashes on some Windows / Linux configurations (help wanted — debug logs welcome).
- Wayland support is partial — requires
wtypeordotool(see Linux notes).
Contributions are very welcome. Please:
- Browse open issues —
good first issueandhelp wantedare good starts. - Fork, branch, and submit a PR with a clear description.
- Test on your target platform before requesting review.
- Join the conversation on Telegram or via hello@getdictus.com.
Dictus is free and will stay free. If it saves you time, consider supporting development — it directly funds new features and platform support.
MIT — see LICENSE.
Dictus Desktop is a fork of Handy by cjpais — huge thanks for the foundation.
- OpenAI Whisper — speech recognition model
- whisper.cpp & ggml — cross-platform inference
- Silero VAD — voice activity detection
- Tauri — Rust-based app framework
Made with ❤️ by PIVI Solutions · @getdictus