Espanso vs FlitKey (2026): Which Free Text Expander Wins?
Key Takeaways
- Both tools are 100% free, open-source, and run entirely offline with zero cloud telemetry.
- Espanso (GPL-3) is built for developers wanting regex triggers, forms, shell execution, macOS support, and YAML files.
- FlitKey (MIT) is designed for Windows and Linux users who prefer a clean visual GUI, an Alt+Space fuzzy picker, and zero config files.
- FlitKey can import static Espanso YAML match files in seconds for an effortless GUI transition.
Disclosure: we make FlitKey, so Espanso is a competitor. We've tried to describe it accurately here, including the several things it does better than we do.
Text expanders all make the same promise: type ;addr and get your full mailing address, type ;sig and get your email signature. Espanso and FlitKey both keep that promise, both cost nothing, and both work without an internet connection or an account.
That's where the similarities stop.
The decision comes down to two things: how you want to manage your snippets (config files or a GUI), and what platform you're on. Everything below follows from those two questions.
How to use this page: this is the head-to-head deep dive. If you are still scanning the field, start with Espanso alternatives, then come back here when the choice has narrowed to Espanso vs FlitKey.
At a glance
| Criterion | Espanso | FlitKey |
|---|---|---|
| Price | Free, open source | Free, open source |
| License | GPL-3 | MIT |
| Current version | 2.3.0 (October 2024) | 0.6.0 (2026) |
| Platforms | Windows, macOS, Linux | Windows 10/11, Linux |
| Configuration | YAML text files | Visual dashboard |
| Snippet picker | Alt+Space search | Alt+Space fuzzy search |
| Forms and regex triggers | Yes | No |
| Shell/script execution | Yes | No |
| Community packages | Espanso Hub | 6 built-in packs (46 snippets) |
| Wayland | Experimental | Picker + clipboard only |
The core difference: a config file or a dashboard
Espanso treats your snippet library as code. Every trigger lives in a YAML file under match/base.yml, and you edit that file by hand. This sounds like friction, and for some people it is, but it's also the source of most of Espanso's power: files can be version-controlled with git, synced through Dropbox, templated, and shared. Jacob Roach at XDA Developers called Espanso the best text expander partly because it "fades into the background" once configured; there's no window to manage because there's no window at all.
FlitKey inverts that. Snippets live in a visual dashboard where you create, edit, tag, and search them through forms. No YAML, no indentation errors, no restart to reload a config. The trade-off runs in the opposite direction: you lose the scriptability that files give you.
Neither approach is wrong. One of them is wrong for you, and by the end of this page you'll know which.
What is Espanso?
Espanso is a cross-platform text expander written in Rust, created by Federico Terzi and maintained by an active open-source community. It has been around since 2019, currently sits at version 2.3.0, and supports Windows, macOS, and Linux from a single set of config files, so a snippet library built on a Mac works unchanged on a Linux workstation.
Where Espanso is stronger
- Advanced triggers: Regex matches, cursor hints, and multi-field forms let you build snippets that behave like small programs. A single form trigger can fill a whole email template with variables you type at expansion time.
- Shell and script extensions: A snippet can run a shell command and paste its output. Your public IP, the output of a Python script, a value pulled from a local database: all fair game.
- macOS support: Espanso runs natively on Macs, including ARM. FlitKey doesn't run on macOS at all.
- The Espanso Hub: Community packages install with one command. Emoji sets, typo correction, medical abbreviations, LLM prompt libraries; the Hub has years of accumulated contributions.
- Maturity: Seven years of releases and a large user base mean most sharp edges have already been filed down, and most error messages have a forum thread.
Where Espanso asks more of you
Everything is a text file. Creating your first snippet means finding the config directory, opening base.yml, getting the YAML indentation exactly right, and restarting the daemon if something doesn't take. For a developer that's a normal Tuesday; for an office worker who just wants ;mtg to expand into a meeting agenda, it's a real barrier. There is no built-in GUI for editing matches, and Wayland support remains labeled experimental.
What is FlitKey?
FlitKey is a text expander for Windows 10/11 and Linux built by Swaraj Nandedkar, MIT-licensed and fully offline, with no telemetry and no account. The current release is 0.6.0: a 29 MB installer on Windows, a 2.7 MB .deb on Linux.
The design bet is simple. Most people who need text expansion are not developers, and most snippets are static: addresses, signatures, canned replies, form responses. Those people shouldn't need to learn YAML to save themselves typing.
Where FlitKey is stronger
- Visual snippet management: Create and edit snippets in a dashboard with forms and tags. Changes apply immediately; nothing to reload.
- Fuzzy-search Quick Insert: Press Alt+Space, type a few characters of any snippet's name, hit Enter. You don't have to memorize triggers to use your library.
- Import from almost anywhere: FlitKey reads Espanso YAML, AutoHotkey scripts, CSV, TSV, and JSON. Switching tools doesn't mean retyping your library.
- Dynamic placeholders:
{{date}},{{time}},{{clipboard}}, and{{cursor}}cover the dynamic content most non-programmers actually use. - Starter packs: Six built-in packs with 46 ready-made snippets, so the app is useful before you've written anything.
What FlitKey can't do yet
Honesty time. FlitKey has no regex triggers, no forms, no shell execution, and no package ecosystem. The Espanso importer only carries over static matches; variables, forms, and script triggers don't translate. There's no macOS build. On Wayland, inline expansion doesn't work, so you're limited to the picker-and-clipboard workflow, and cursor positioning is only supported on Windows and X11. And at 0.6.0 it is young software; Espanso has a seven-year head start on edge cases.
If any single item in that paragraph is a dealbreaker for you, use Espanso. It's a very good tool.
Feature by feature
| Feature | Espanso 2.3.0 | FlitKey |
|---|---|---|
| Static text expansion | Yes | Yes |
| Rich/multi-line snippets | Yes | Yes |
| Date and time variables | Yes, with timezone support | Yes ({{date}}, {{time}}) |
| Clipboard insertion | Yes | Yes ({{clipboard}}) |
| Cursor positioning | Yes | Windows and X11 only |
| Regex triggers | Yes | No |
| Multi-field forms | Yes | No |
| Shell command output | Yes | No |
| GUI snippet editor | No | Yes |
| Searchable picker | Alt+Space | Alt+Space, fuzzy |
| Import from other tools | Limited | Espanso, AutoHotkey, CSV, TSV, JSON |
| Community packages | Espanso Hub | No (6 built-in packs) |
| macOS | Yes, ARM-native | No |
| Windows | Yes | Yes (10 and 11) |
| Linux X11 | Yes | Yes |
| Linux Wayland | Experimental | Picker + clipboard only |
| Config as versionable files | Yes | No |
What setup actually looks like
Here's a signature snippet in each tool. Espanso, in ~/.config/espanso/match/base.yml:
# espanso match file (base.yml)
matches:
- trigger: ":sig"
replace: |
Best regards,
Priya Sharma
Random Tech House | +91 98xxx xxxxx
Get the indentation wrong (tabs instead of spaces, a misaligned dash) and the match silently fails to load until you check espanso log. Once it works, though, it works everywhere and syncs anywhere you can sync a folder.
The same snippet in FlitKey: open the dashboard, click New Snippet, type :sig in the trigger field, paste the signature in the body, save. It's live immediately. That whole flow takes maybe twenty seconds and there is nothing to debug, but there's also no file you can commit to git.
That pair of experiences is the entire comparison in miniature.
When Espanso is the better fit
Developers and terminal-comfortable users. YAML holds no fear for you, and you'll actually use regex triggers and shell extensions. Espanso will grow with you in ways FlitKey currently can't.
Mac users, or anyone on mixed platforms including a Mac. FlitKey has no macOS build, so this one isn't a judgment call.
Anyone whose snippets need logic. Forms, script output, application-specific triggers. Espanso does things here that FlitKey simply doesn't attempt.
People who want their snippet library in git. Plain-text config is a feature, not a bug, if you think in commits.
When FlitKey is the better fit
Non-technical Windows and Linux users. If the phrase "edit the YAML config" makes you close the tab, FlitKey was built for you.
People migrating from a paid tool or another expander. The AutoHotkey and CSV importers mean your existing library comes with you in minutes.
Anyone who mostly uses static snippets. Signatures, addresses, replies, templates with a date stamped in. That's the bulk of real-world expansion, and FlitKey handles it without ceremony.
Privacy-focused users who also want a GUI. Both tools are offline and telemetry-free, but FlitKey is the only one of the two that pairs that with visual management.
Both are free, so the real cost is your time
"Free" usually settles a pricing section. Not here, since neither tool charges anything: Espanso is GPL-3 with optional donations, FlitKey is MIT with every feature included. No tiers, no trials.
So price out the setup instead. Suppose a 15-snippet starter library. In FlitKey that's roughly 20 seconds per snippet through the form, call it 5 minutes total. In Espanso, budget for finding the config directory, learning match syntax, writing the YAML, and troubleshooting your first silent failure; an hour is a fair estimate for someone new to it, and near zero for someone who's used YAML before. That hour buys you capabilities FlitKey doesn't have. Whether that trade is worth it is exactly the developer/non-developer split this whole page keeps arriving at.
Shared fixture: what survives an Espanso → FlitKey import
Using the same sanitized matches from the Espanso migration guide and benchmark fixture, FlitKey v0.6.0 keeps the static library and leaves Espanso-only automation behind:
| Match type | Espanso | After FlitKey import |
|---|---|---|
Static trigger / replace | Works | Imported as a snippet |
| Multi-trigger aliases | One match, many triggers | Split into separate snippets |
| Date / clipboard variables | Espanso vars | Converted to {{date}} / {{clipboard}} |
| Shell / script / forms / regex | Supported | Skipped — keep in Espanso |
That table is the practical migration boundary. It is also why Espanso remains the better product when your library is mostly automation, not static text.
Can you run both, or switch between them?
You can switch easily in one direction: FlitKey imports Espanso's match/base.yml static matches directly. Anything dynamic (forms, scripts, regex) stays behind, because FlitKey has no equivalent to import into.
Running both at once technically works, but keep only one enabled at a time; two daemons watching the same keystrokes will produce duplicate expansions on shared triggers.
Choose Espanso if… choose FlitKey if…
- Choose Espanso if: you use macOS, you want regex/forms/scripts, you keep dotfiles in git, or you want the Hub's community packages.
- Choose FlitKey if: you're on Windows or Linux, your snippets are mostly static, and you want a dashboard instead of a config file.
- Use both if: you're mid-migration. Import your static matches into FlitKey, keep Espanso around for scripted snippets, and enable only one at a time.
FAQ
Is FlitKey a full replacement for Espanso?
For static and lightly dynamic snippets, yes. For regex triggers, forms, and shell scripting, no; Espanso keeps those advantages, and FlitKey's importer won't carry them over.
Does either tool send my keystrokes anywhere?
No. Both run entirely offline. Espanso's docs note it keeps only a short rolling buffer of recent characters in memory, and FlitKey ships with no telemetry and requires no account. Both codebases are public if you want to check.
Does Espanso or FlitKey work on Wayland?
Partially, in both cases. Espanso labels its Wayland support experimental. FlitKey doesn't do inline expansion on Wayland at all; you use the Alt+Space picker with clipboard paste instead. On X11, both work fully.
Which is better for a Mac?
Espanso, by forfeit. FlitKey has no macOS version as of v0.6.0.
Is FlitKey really free, or free-for-now?
It's MIT-licensed open source with all features included, same as the code itself. There's no paid tier to upsell you into.
The verdict
We'll say it plainly even though it costs us something: if you're a developer on a Mac, or you need snippets that run code, Espanso is the better tool and you should go install it. It earned its reputation.
For everyone else on Windows or Linux, the honest question is whether you'll ever open a YAML file to add a snippet. If the answer is no, the most powerful text expander is the one you'll actually use, and that's the gap FlitKey exists to close. Download it, import your old library in a couple of minutes, and see whether the dashboard fits how you work. Both downloads are free, so the worst case is five minutes and an uninstall.
Facts verified August 2026 against espanso.org, the Espanso GitHub releases page, and FlitKey.
Sources
- Espanso official site — license, features, pricing (verified August 2026)
- Espanso GitHub releases — v2.3.0, released October 11, 2024 (verified August 2026)
- XDA Developers: 6 reasons Espanso is the best text expander — Jacob Roach, July 14, 2025; third-party assessment of Espanso's strengths
- FlitKey — v0.6.0 features, downloads, license (verified August 2026)
Looking beyond a two-product shootout? Prefer the broader Espanso Alternatives in 2026 guide for demand-style queries, then use this page for the final Espanso-vs-FlitKey decision. More comparisons live on the FlitKey comparisons hub.