espanso
Expand text snippets with keywords automatically
TLDR
Check status
Edit the configuration
Install a package from the hub store (
Restart (required after installing a package, useful in case of failure)
SYNOPSIS
espanso <SUBCOMMAND> [OPTIONS]
PARAMETERS
start
Starts the espanso daemon (use & to background)
stop
Stops the espanso daemon
restart
Restarts the espanso daemon
status
Displays current daemon status
install
Installs espanso as a systemd service on Linux
uninstall
Uninstalls the systemd service
path
Prints important configuration paths
reload
Reloads configuration without restarting daemon
list
Lists installed packages
edit
Opens configuration directory in default editor
compile
Compiles configuration for faster loading
version
Shows espanso version
--help
Prints help information
--version
Prints version information
DESCRIPTION
Espanso is a privacy-focused, open-source text expander engine written in Rust. It allows users to define custom keyboard shortcuts (triggers) that automatically expand into longer text snippets, commands, images, or dynamic content across any application.
Key features include support for plain text, regex triggers, shell commands, date formatting, forms, and searchable snippets. On Linux, it works with X11 natively and Wayland experimentally. Configuration uses simple YAML files in ~/.config/espanso/, with community packages available via Espanso Hub.
Unlike clipboard managers, espanso processes input in real-time without storing history, ensuring privacy. Install via AppImage, distro packages (e.g., Arch, Fedora), or Cargo. Run as a daemon for background operation. Ideal for programmers (code snippets), writers (emojis/templates), and power users. Active development ensures cross-platform consistency on Linux, Windows, macOS.
CAVEATS
Requires daemon mode for functionality; Wayland support is experimental and may need sudo espanso install --wayland. Not in all distro repos—prefer AppImage. Needs accessibility/input monitoring permissions.
BASIC SNIPPET EXAMPLE
In ~/.config/espanso/match/base.yml:
matches:
- trigger: ":mail"
replace: "user@example.com"
Reload with espanso reload.
LINUX INSTALLATION
Download AppImage from GitHub: chmod +x espanso.AppImage && ./espanso.AppImage install. Or sudo pacman -S espanso on Arch/Fedora COPR.
HISTORY
Created in 2019 by Federico Terzi as a Rust-based alternative to proprietary expanders. Reached v1.0 in 2023 with improved stability, Wayland support, and package manager. Over 10k GitHub stars; focuses on extensibility and privacy.


