Dictation and voice typing on Linux
Mac and Windows users press a shortcut and dictate. On Linux there is no equivalent built into the major desktops, so you assemble something yourself or install an app, and the first question is not which app but which display session you are running. This guide explains why X11 and Wayland matter so much for dictation, what open-source tools exist, where Voice Monkeys stands on Linux today, and how to fix the problems people run into.
First check: are you on X11 or Wayland?
A dictation app has to do two things outside its own window: notice a hotkey while another program has focus, and put text into that other program. On X11 (Xorg), applications have traditionally been allowed to do both. Wayland was designed to isolate applications from each other, so a program cannot simply listen to all keypresses or type into a window it does not own. That is good for security and awkward for dictation.
To see which session you have, open a terminal and run `echo $XDG_SESSION_TYPE`. It prints `x11` or `wayland`. Most desktop environments also show it somewhere in their About or system information panel.
- x11: global hotkeys and simulated typing generally work, so most dictation tools behave as expected.
- wayland: a tool needs a Wayland-aware typing helper or extra system setup, and some apps do not work at all.
If your distribution still offers an X11 session, you can usually choose it on the login screen: select your user, then look for a session menu (often a gear icon) before typing your password. Some recent releases have dropped or are phasing out X11 sessions for certain desktops, so check what your distribution provides before planning around it.
What exists for Linux dictation
The Linux options fall into two groups: do-it-yourself open-source tools, and packaged apps. Two well-known open-source projects show what the DIY route looks like.
nerd-dictation describes itself as offline speech to text for desktop Linux. It uses the VOSK speech recognition library with a model you download, records through PulseAudio, sox or PipeWire, and types the result by simulating keystrokes. For typing it supports xdotool (X server only, the default), wtype (Wayland), and ydotool or dotool (both X11 and Wayland, with extra setup for ydotool). It is licensed GPL-3.0 and is configured from the command line, so expect to bind it to a key yourself.
whisper.cpp is a C/C++ implementation of OpenAI's Whisper speech recognition model that runs offline on the CPU, on Linux among many platforms, under the MIT licence. It is an engine rather than a dictation app: it includes a real-time `whisper-stream` example that transcribes microphone input (built with SDL2 enabled), but getting the text into your other windows is left to you.
| Option | How text reaches your app | Session | Runs offline | Setup effort |
|---|---|---|---|---|
| nerd-dictation | Simulated keystrokes (xdotool, wtype, ydotool, dotool) | X11; Wayland with wtype or ydotool/dotool | Yes, VOSK model | Command line, scripts |
| whisper.cpp | Your own scripting; stream example prints text | Any (you handle output) | Yes | Build from source, high |
| Voice Monkeys | Hold a key, text pasted at the cursor | X11 only | Optional offline model; cloud by default | Install AppImage or .deb |
Voice Monkeys on Linux: the honest status
Voice Monkeys ships a Linux build as an AppImage or a .deb package for Ubuntu and Debian. It needs an X11 (Xorg) session: on Wayland the system blocks the global hotkey and the automatic paste, so the app cannot work there. The Linux build is new, so treat it as a young release and report what breaks.
Day to day it works like the other versions. Hold right Alt (you can choose another key in settings), speak, release, and the text appears at the cursor in your editor, terminal, browser or chat app. A quick tap starts hands-free mode until the next tap, and Esc cancels. It recognises 25 languages by ear and lets you mix them in a sentence, which is covered in dictating in multiple languages.
On Linux it is a cloud subscription: $12 a month or $96 a year, with a 7-day trial that asks for a card. That includes 90 hours of dictation a month and up to five computers, one dictating at a time, so the same plan covers a Linux desktop and a Windows laptop. By default, your audio travels encrypted to a server in Falkenstein, Germany, is converted to text in memory and thrown away; neither the audio nor the text is kept, only the number of seconds. Get it from the download page. If you are on Wayland and cannot switch, nerd-dictation with a Wayland typing helper is the more realistic choice.
Installing the AppImage or .deb
- AppImage: download it, make it executable with `chmod +x` followed by the file name, then run it. If it refuses to start with an error mentioning FUSE, install your distribution's FUSE 2 compatibility package (on Ubuntu this is usually called libfuse2, or libfuse2t64 on newer releases).
- .deb (Ubuntu, Debian): install it with `sudo apt install ./` followed by the file name, so apt resolves dependencies, then launch it from your applications menu.
- Log in to an X11 session before the first run, and confirm with `echo $XDG_SESSION_TYPE`.
- Pick the microphone in your desktop's sound settings, or with a mixer such as pavucontrol, and check that the input meter moves when you talk.
The optional offline model
The Windows and Linux versions can also use an offline model, downloaded once (about 640 MB). After that, recognition happens on your own computer without sending audio anywhere, which is useful on a train, on a flaky connection, or when you simply prefer not to send speech to a server.
Whether it suits you depends on your machine and your languages, so try both modes with the same few sentences, for example “Merge the branch after the tests pass, then tag the release as two point four.”, and keep the one that needs fewer corrections. If you dictate commit messages or long comments, borrow the routine from dictation for writers: talk the draft through, then fix it in one editing pass. And if privacy is the reason you are looking at offline mode, is voice dictation private explains the questions worth asking any tool.
Troubleshooting on Linux
- The hotkey does nothing: check the session type first. On Wayland, global hotkeys from ordinary apps are blocked; log out and choose an X11 session if your distribution offers one.
- Right Alt types strange characters instead: on many European keyboard layouts, right Alt is AltGr, used for characters like @ or €. Pick a different dictation key in settings so the two do not collide.
- Text is recognised but not pasted: make sure the cursor is in a text field and the target window has focus when you release the key. Some terminal emulators use Ctrl+Shift+V for paste, so test in a plain text editor first to isolate the problem.
- Nothing is heard: open your sound settings or pavucontrol, choose the right input device, and watch the level meter. Bluetooth headsets sometimes appear as two devices; pick the one with a microphone.
- The AppImage will not start: run it from a terminal to see the error. A FUSE message means the compatibility package is missing.
If you also use Windows, dictation on Windows covers the built-in voice typing there, and the best dictation apps for Windows compares installable options.
Questions and answers
Does Linux have built-in dictation like Mac or Windows?
The major Linux desktops do not ship a system-wide dictation feature comparable to Mac Dictation or Windows voice typing. You install an app or set up an open-source tool such as nerd-dictation.
Does Voice Monkeys work on Wayland?
No. Wayland blocks the global hotkey and the automatic paste that Voice Monkeys relies on. Use an X11 (Xorg) session; check with echo $XDG_SESSION_TYPE.
Which distributions does the Voice Monkeys .deb support?
The .deb package is for Ubuntu and Debian. On other distributions, use the AppImage, still in an X11 session.
Can I dictate offline on Linux?
Yes. nerd-dictation and whisper.cpp both run offline, and Voice Monkeys has an optional offline model of about 640 MB, downloaded once.
Is there a free option?
nerd-dictation (GPL-3.0) and whisper.cpp (MIT) are free and open source. They take more setup than a packaged app, and you handle the hotkey and typing yourself.
Sources
- nerd-dictation on GitHub (checked November 6, 2026)
- whisper.cpp on GitHub (checked November 6, 2026)