Ubuntu speech to text: three ways to dictate on Ubuntu

Ubuntu has no built-in dictation, but free offline tools fill the gap. How to set up Ubuntu speech to text with Speech Note, Handy or nerd-dictation, on Wayland or X11.

By The Sayburst team · · 6 min read

Ubuntu doesn't come with speech to text, so you add it. The quickest good setup is Speech Note from Flathub, which runs offline and has a notes window you can dictate into straight away. If you want the Mac-style "press a key, talk, and the text appears in any app", install Handy from its .deb and set up a typing helper for Wayland.

This guide walks through both, plus nerd-dictation for people who like a script they can read end to end. Install steps and requirements come from each project's own GitHub or Flathub page, checked November 2026.

First, check whether you're on Wayland or X11

It decides which helper you need for typing into other apps. Open a terminal and run:

echo $XDG_SESSION_TYPE

If it says wayland, you need a tool like ydotool or wtype to send keystrokes, because Wayland doesn't let one app type into another by default. If it says x11, xdotool does the job. Ubuntu uses Wayland by default on most current installs.

Option 1: Speech Note, the easiest start

Speech Note is a free, open-source (MPL-2.0) app for Linux that does speech to text, text to speech and translation, all offline. Its speech engines include whisper.cpp, Faster Whisper, Vosk and others, so you can pick a small, fast model or a larger, more accurate one.

  1. If Flatpak isn't set up yet, run sudo apt install flatpak and add the Flathub repository, following Flathub's Ubuntu instructions.
  2. Install it: flatpak install flathub net.mkiol.SpeechNote
  3. Open Speech Note, go to the languages and models list, and download a speech-to-text model for your language.
  4. Click the listen button and talk. The text appears in the notes window; copy it wherever you need it.

Typing into other apps. Speech Note can type decoded text into the active window using global shortcuts or command-line actions. Turn on global shortcuts under Settings › Accessibility. The project says this works out of the box on X11; on Wayland it needs the ydotool daemon running, and global shortcuts need a desktop that supports the GlobalShortcuts portal, which the project lists as recent GNOME and KDE Plasma.

Pick it if you want offline dictation working in ten minutes and don't mind copying text out of a window at first.

Option 2: Handy, press a key and talk

Handy is a free, MIT-licensed app for Linux, Mac and Windows. You press a shortcut, speak, release, and it pastes your words into the field you're typing in. It runs Whisper models or Parakeet V3 on your machine.

  1. Download the .deb from the project's releases and install it with sudo apt install ./Handy_*.deb. The project recommends apt over dpkg -i so dependencies come along.
  2. If it won't start with a missing libgtk-layer-shell.so.0 error, run sudo apt install libgtk-layer-shell0.
  3. Install a typing helper: xdotool on X11, or on Wayland follow the README. Handy notes that on Ubuntu 26.04, which defaults to Wayland, wtype doesn't work and you need ydotool set up as a systemd service.
  4. On Wayland, add a custom shortcut in Settings › Keyboard (under the shortcuts section) that runs the command handy --toggle-transcription.

Handy's README calls its Wayland support limited, so expect to spend a few minutes on step 3. Once it works, it's the closest thing on Ubuntu to dictation that feels built in.

Pick it if you want to dictate into your browser, editor and chat apps without copying and pasting.

Option 3: nerd-dictation, for scripters

nerd-dictation is a single Python script built on the VOSK engine (GPL-3.0). There's no background app: you bind two commands to keys.

  1. pip3 install vosk
  2. Clone the repository and download a VOSK model (the README uses vosk-model-small-en-us-0.15), unzip it and rename the folder to model.
  3. Test: ./nerd-dictation begin --vosk-model-dir=./model &, say something, then ./nerd-dictation end.
  4. Move the model to ~/.config/nerd-dictation so you can drop the flag, and bind begin and end to keyboard shortcuts.

It records with parec by default (or sox or pw-cat) and types with xdotool on X11; for Wayland it supports ydotool, dotool and wtype. VOSK is older technology than Whisper or Parakeet, so accuracy is lower, but it's light and you can rewrite its output with plain Python.

Pick it if you want something tiny you fully control.

Which one to use

ToolTypes into any appEnginesInstallLicense
Speech NoteYes, via shortcuts (ydotool on Wayland)whisper.cpp, Faster Whisper, Vosk and moreFlatpakMPL-2.0
HandyYesWhisper, Parakeet V3.deb or AppImageMIT
nerd-dictationYesVOSKpip + gitGPL-3.0

All three run speech recognition locally once a model is downloaded, so your audio stays on your machine. There are more options, including hyprwhspr for tiling-window-manager setups, in our Linux dictation roundup. The trade-offs between local and cloud recognition are in local vs cloud dictation.

Getting better results on Ubuntu

  • Check the input device. Open Settings › Sound and confirm the right microphone is selected and its level moves when you speak. Most "it types nothing" reports are the wrong input.
  • Match the model to your hardware. Large Whisper models are slow on a CPU. Start small and move up if accuracy isn't good enough.
  • Speak in sentences. Every tool here does better with complete phrases than with single words.
  • Test in a plain text editor first. If text appears there but not in your browser, the problem is the typing helper, not recognition.

For the basics of voice typing on other systems, see our voice to text guide.

Also on a Mac?

A lot of people run Ubuntu on a desktop and carry a MacBook. Sayburst is a Mac dictation app, and it's Mac-only, so it won't help on your Ubuntu machine. On the Mac it does what Handy does on Linux, plus cleanup: hold fn, talk, let go, and the text appears in any app with fillers removed and punctuation fixed. It runs Parakeet or Whisper locally on Apple silicon, and the Parakeet vs Whisper benchmark shows how they compare.

A commit message said into a terminal on the Mac:

"Bump the, uh, the libgtk layer shell dependency and pin ydotool to the version that, no, drop the pin, just document it"

What gets typed:

Bump the libgtk layer shell dependency, and don't pin ydotool, just document it.

Self-corrections like "no, drop the pin" are resolved before the text is typed. It's $29 once for one Mac, after a free 7-day trial, and needs an M1 or later with macOS 14 Sonoma or newer.

On a Mac too? Try Sayburst free for 7 days.

Download Sayburst

Questions people ask

Does Ubuntu have built-in speech to text?

No. Ubuntu's desktop doesn't include a system-wide dictation feature like macOS or Windows. You install a separate tool such as Speech Note, Handy or nerd-dictation.

What is the easiest speech to text app for Ubuntu?

Speech Note is the easiest to start with: install it from Flathub, download a speech model inside the app, and dictate into its notes window. Handy is the simplest if you want press-a-key-and-type in any app.

Does speech to text on Ubuntu work offline?

Yes, with the tools in this guide. Speech Note, Handy and nerd-dictation all run speech recognition on your computer once a model is downloaded.

Why does dictated text not appear in other apps on Wayland?

Wayland doesn't let apps type into other windows the way X11 does. Install ydotool (and run its daemon) or wtype, depending on what the tool's documentation says, so it can send keystrokes.