Espanso Guide: Open-Source Text Expansion Tool — Type a Shortcut, Auto-Expand to Full Text
Espanso: Type Two Characters, Auto-Complete an Entire Paragraph
One-sentence solution: Tired of typing the same address, email, or reply template every day? Espanso lets you type two letters to auto-complete an entire paragraph.
Think about how many times you repeatedly type the same things every day: email addresses, company names, home addresses, greetings, common code snippets… A paragraph of text you have to retype every single time.
Espanso lets you use shortcuts to replace these repetitive inputs.
What is Espanso?
Espanso is an open-source, cross-platform text expansion tool. You pre-configure some “shortcut → full text” matching rules, and then in any application, typing the shortcut automatically replaces it with the corresponding full content.
The problem it solves: eliminate repetitive typing and boost typing efficiency.
Real-World Effect
Once you’ve set up your rules:
- Type
:addr→ automatically becomes your home address - Type
:email→ automatically becomes your email - Type
:sig→ automatically becomes your signature (name + title + phone + email) - Type
:date→ automatically becomes today’s date
It works everywhere you can type — email, WeChat, Word, browsers…
Difference from AutoHotkey
| Aspect | Espanso | AutoHotkey |
|---|---|---|
| Primary use case | Text expansion | Full automation |
| Configuration difficulty | Simple (YAML) | Complex (scripting language) |
| Cross-platform | ✅ Mac/Win/Linux | ❌ Windows only |
| Learning curve | Low | High |
Espanso is deeply optimized specifically for “text expansion” — much simpler than AutoHotkey.
Download
- Official site: https://espanso.org/
- GitHub Releases: https://github.com/espanso/espanso/releases
Tip: Remember to configure auto-start after installation so it’s always active.
Quick Start
- Download and install Espanso
- Open the config directory (right-click the taskbar icon or run
espanso editin the terminal) - Add rules in
match.yml:matches: - trigger: ":addr" replace: "123 Main Street, New York, NY 10001" - trigger: ":email" replace: "yourname@example.com" - Save the file — Espanso automatically reloads the config
- Try it in any input field, type
:addrfollowed by a space
Advanced Usage
- Supports date variables (auto-expands to today’s date)
- Supports Shell command expansion
- Supports image pasting
- Supports multi-line text