Textfold vs Espanso: a native Mac editor instead of YAML files
Espanso is a free, open-source text expander that you configure with YAML files. Textfold covers the same everyday needs in a native Mac app with a visual editor — and it can import your Espanso matches.
By Jeyanth Kanagaraju · Updated
The short answer
Choose Espanso if you want something free and open source, use Windows or Linux as well as macOS, or rely on regex triggers and shell or script extensions. Editing YAML is part of the deal, and for many developers that's a plus.
Choose Textfold if you'd rather manage snippets in a Mac app: a sidebar of groups, an editor that colors placeholders and previews the result, a Try it box, drag-to-reorder and one-click options for when a snippet should fire. Snippets are still plain text files, so you can edit them by hand too.
At a glance
| Textfold | Espanso | |
|---|---|---|
| Price | Free for 10 snippets; Pro is a one-time purchase | Free, open source (GPL-3.0) |
| Platforms | Mac | macOS, Windows, Linux |
| Editing snippets | Native editor with live preview, or any text editor | YAML files in a text editor |
| Forms | Yes | Yes |
| Search to insert | Yes (⌃⌥Space) | Yes (search bar) |
| App-specific snippets | Yes, per snippet | Yes, through app-specific configs |
| Regex triggers, scripts, shell commands | No | Yes |
| Undo an expansion | Esc within 5 seconds | Backspace right after expanding |
Day to day: editing snippets
In Espanso a snippet is a trigger and a replace entry in a match file. In Textfold it's a small text file — abbrev: ;sig, a line of three dashes, then the text — which the editor writes for you. Placeholders like {date+7d} and {field:Name} are colored as you type, typos are flagged, and the preview shows exactly what will be inserted. You can still open the folder in your editor of choice or keep it in git.
Importing from Espanso
- Find your match file — usually
~/Library/Application Support/espanso/match/base.yml. - In Textfold, open Edit Snippets… → arrow next to + → Import Snippets… (part of Pro) and choose the file.
- Textfold translates
{{date}}and clipboard variables, the$|$cursor marker,[[field]]forms, and thewordandpropagate_caseoptions. Regex triggers and shell or script variables are listed as skipped. - Quit Espanso (or disable those matches) so the two don't both expand.
See the import documentation for every supported format.