Voice Dictation on Linux: What Works in 2026 (Across Every App)

Linux has excellent tools for almost everything — except, historically, voice dictation. While Windows users got a built-in Dictation shortcut (Win+H) and macOS shipped a system-level dictation feature years ago, Linux desktop users have mostly been patching together solutions from incomplete parts. In 2026, the picture is better, but it still requires knowing what to look for.
This guide is written for Linux desktop users who want dictation that works across applications — not just inside one editor or note-taking app.
The state of voice dictation on Linux
The root problem is structural. On X11, simulating keystrokes from an external process is straightforward with tools like xdotool. On Wayland, the compositor controls what can receive synthetic input, and most compositors restrict it significantly for security reasons. That means a tool that works perfectly on X11 may silently fail to type anything on Wayland — with no error message.
There is also no equivalent to macOS's Speech Accessibility framework or Windows's Speech Recognition API: no single OS-level hook that a desktop app can call to say "type this text into whatever the user is focused on." Every Linux dictation tool solves this problem in its own way, with varying results.
Finally, audio stack fragmentation across ALSA, PulseAudio, and PipeWire has historically made microphone access unreliable. Most modern distributions (Ubuntu 22.04+, Fedora 38+, Pop!_OS 22.04+) have moved to PipeWire, and that has improved things considerably.
What is actually available
Here is a fair tour of the tools that exist, without inflating or dismissing any of them.
ibus-typing-booster — a completion plugin for IBus that can accept voice input through the GNOME Speech service. Limited to apps that use the IBus input method. Not a general dictation solution.
Speech Note — a standalone Whisper-based app that transcribes speech offline and places the result in its own text window. You then copy and paste it wherever you need it. Accurate and privacy-friendly, but the copy-paste step adds friction and breaks flow.
Numen — voice control for the desktop, closer in spirit to a keyboard/mouse replacement than to a dictation tool. Useful for accessibility and hands-free navigation, but not optimized for the "speak a sentence, get it typed" use case.
Talon Voice — the most powerful option in the Linux voice-control space. Supports programmable voice commands, coding grammars, and Wayland-aware input in recent builds. The learning curve is steep and it skews toward power users who want to control their entire workflow by voice. If you need voice to write code with no hands at all, Talon is worth investigating.
OpenWhispr — a newer open-source (MIT) dictation app that runs on Linux, macOS, and Windows, built on local Whisper / NVIDIA Parakeet models with optional cloud models via your own API key (BYOK). Run it fully on your own machine and transcription is unlimited and private. For Linux users who want a free, privacy-first, dictation-only tool and don't mind some setup, it's a genuinely good option — and it's the clearest sign that the "no real voice-to-text on Linux" era is over.
Handy — another free, open-source speech-to-text app for Linux, macOS, and Windows (built on Tauri) that works completely offline. It's deliberately minimal: a configurable push-to-talk shortcut that pastes the transcription into the active field, without the broader feature set. Worth a look if you want something lightweight and private and don't need snippets or AI editing.
Lightning Assist — a cross-platform Electron desktop app with push-to-talk desktop app voice dictation and text expansion. Described further below. The positioning is different from Talon and from the dictation-only open-source tools above: it pairs voice with text expansion and AI commands in one app, with a single hotkey model rather than a programmable grammar.
None of these is the perfect Linux voice dictation solution. They solve different parts of the problem.
What "good Linux voice dictation" actually requires
Before picking a tool, it helps to agree on what the bar is. A solid cross-app dictation solution on Linux needs to:
- Work in any app, not just the tool's own window — browsers, IDEs, terminals, Electron apps, native GTK/Qt apps alike.
- Handle Wayland, or at minimum be honest about X11-only limitations.
- Not require root to run — dictation is a user-space productivity tool, not a system daemon.
- Be non-blocking — hold a key, speak, release, continue working. No modal dialog that steals focus.
- Perform reasonably on technical vocabulary — Linux users dictate hostnames, command flags, package names, and code identifiers. A model trained on conversational speech will stumble on
systemctl,xdg-open, or~/.config/.
Whisper-based backends (whether local or API) hold up better on technical terms than older cloud-only models, which is one reason the Linux community has moved toward Whisper solutions.
Lightning Assist on Linux
Lightning Assist is a desktop app built with Electron, which means it runs on the same codebase across Windows, macOS, and Linux. The Linux release is packaged as an AppImage, a .deb for Debian/Ubuntu/Pop!_OS, and an .rpm for Fedora and RHEL-derived distributions. No AUR package at this time; the AppImage is the distro-agnostic option.
The voice dictation feature works via push-to-talk: hold Ctrl+Super (Super being the Meta/Windows key on most keyboards), speak, release. The Whisper-based backend transcribes the audio and the result is typed into whichever window has focus. Because it is designed as a cross-app tool — the same model as the text expansion side of the app — it does not require you to switch to a dedicated dictation window.
Lightning Assist also includes text expansion with AI commands: short triggers that expand into longer text or invoke an AI model inline. For Linux users who want both "type this snippet" and "transcribe what I said," that combination is in one subscription at $5.99/month, with a free trial available.
Installation on Linux
See /get-started for the full walkthrough, and /downloads to get the latest package. The short version:
AppImage (works on most distributions):
chmod +x Lightning-Assist-*.AppImage
./Lightning-Assist-*.AppImage
No installation required. The AppImage bundles its own runtime.
Debian/Ubuntu/Pop!_OS (.deb):
sudo dpkg -i lightning-assist_*.deb
sudo apt-get install -f # resolve any missing dependencies
Fedora/RHEL/CentOS (.rpm):
sudo rpm -i lightning-assist_*.rpm
After installation, launch the app, sign in, and enable the AI Speech / push-to-talk trigger in the Triggers page. No root access is required at runtime.
See /pricing for current plan details and trial length.
Practical dictation workflows on Linux
The value of cross-app dictation becomes concrete when you map it to things you actually do.
Git commit messages. Focus your terminal after staging your changes, hold Ctrl+Super, dictate "fix null pointer in the cache layer when membership changes", release. The message appears at the terminal prompt ready for git commit -m. No context switch, no reaching for the mouse.
Slack, Discord, and Element. These are Electron apps themselves, which means they receive synthesized input the same way a text field in a browser does. Dictate your reply in place without opening a separate dictation window.
VSCode and JetBrains IDEs. Focus the editor, dictate a comment block or a variable name in camelCase (most Whisper models handle spoken camelCase reasonably when you say "camel case"). For longer prose — a docstring, a README section — dictation is faster than typing.
Terminal commands. Shorter commands are faster to type than to speak. But longer, structured commands (curl -X POST https://api.example.com/v1/resources -H "Content-Type: application/json" -d '{"key": "value"}') are faster to dictate once you have the pattern in muscle memory for the hotkey.
Markdown documentation. Dictate into any editor that renders Markdown — Obsidian, Typora, a plain vim buffer, VSCode with a Markdown extension. The transcription does not know you are writing Markdown, so you will need to add backticks and heading symbols manually, but paragraph-level prose dictation is fast.
Wayland caveats
Electron apps running under Wayland can use the --ozone-platform=wayland flag or the ELECTRON_OZONE_PLATFORM_HINT=auto environment variable (supported in Electron 21+) to run natively under the Wayland protocol rather than through XWayland.
How well synthetic text input works depends on the compositor. GNOME under Wayland (Mutter) and KDE Plasma under Wayland (KWin) both implement the zwp_virtual_keyboard_v1 protocol that allows an app to simulate keyboard events — which is how cross-app text injection works without X11's xdotool. On compositors that do not implement this protocol, input injection may fall back to clipboard paste, which can behave differently in some apps (particularly terminals with bracketed paste mode).
If you are on Wayland and dictated text is not appearing where you expect, the most reliable diagnostic is to check which Wayland protocol your compositor exposes. On GNOME: wayland-info | grep keyboard. The specifics depend on your compositor version.
The fallback — copy to clipboard and paste — works in most apps but can disrupt the push-to-talk flow if the target app already has clipboard content you need.
This is an area that is actively improving across the Linux ecosystem. The situation in 2026 is materially better than it was in 2023.
Closing thoughts
Voice dictation on Linux is not a solved problem, but it is a workable one. The honest picture in 2026: Speech Note gives you offline Whisper transcription with a copy-paste step; OpenWhispr and Handy give you free, open-source dictation that types across apps (OpenWhispr even runs fully local); Talon Voice gives you deep programmability at the cost of a steep learning curve; Lightning Assist gives you a simple push-to-talk layer that types into any app, paired with text expansion and AI commands, for a flat monthly fee. If you only need dictation and want it free, start with OpenWhispr; if you want dictation plus snippets and AI rewrites in one tool, that's where Lightning Assist fits.
If your primary need is cross-app dictation with minimal setup on Ubuntu, Fedora, Arch, Debian, or Pop!_OS, start with the Lightning Assist trial — download it at /downloads or follow the get-started guide. The dedicated voice-to-text on Linux page covers the Linux-specific install paths and Wayland configuration in more detail. If you need full hands-free control of the desktop, look at Talon. If you need fully offline processing with no subscription, Speech Note fills that gap.
The gap between Linux and other OSes for dictation is narrowing, partly because Whisper made high-quality offline transcription accessible, and partly because Wayland's input protocols have matured. It is a reasonable time to try again if you gave up in 2022 or earlier.
Sources
- OpenAI Whisper — open-source speech recognition model.
- Numen — voice control for the desktop.
- Talon Voice — official site.
- Speech Note — offline speech to text for Linux.
- OpenWhispr — open-source cross-platform dictation (Whisper / Parakeet).
- Handy — minimal open-source push-to-talk transcription.
- Wayland zwp_virtual_keyboard_v1 protocol specification.
- Lightning Assist — downloads, get-started guide, pricing
- Voice-to-Text Setup Guide — general push-to-talk setup walkthrough
- Push-to-Talk Voice Typing in Email and Chat Apps — cross-app dictation explained