Text expansion tools are essential for anyone who finds themselves constantly copying and pasting the same information multiple times every day. Over the years we’ve recommended TextExpander and aText, but neither is exactly cheap. If you’re looking for a free alternative and don’t mind messing with configuration files, you should check out Espanso.

This is a free and open source application for Windows, Mac, and Linux that can do pretty much everything those paid apps are capable of, for free. The downside: it takes a little bit more work to set up.

Let’s back up a little. Text expansion tools allow you define trigger words that you can type in any application to quickly paste something longer. For example, I could set such an application to replace “:jhp” with “Justin Pot“, complete with the link, to make explaining who I am in a professional email just a little bit faster. The best applications let you do this while also offering automation for things like including the current date or even information from other programs.

Espanso is a free text expansion app. To get started, download and install the application. Windows and Mac users will find a system icon, while Linux users need to rely entirely on the command line, which I’m sure won’t be a problem for them.

Credit: Justin Pot

Click Open search bar and you can browse the current snippets. There are only a handful by default.

Credit: Justin Pot

This doesn’t get useful until you start adding your own snippets, which is the tricky part. I recommend reading the official documentation to really get a feel—consider the following a quick overview.

You can add snippets manually by editing a configuration file, found at C:UsersuserAppDataRoamingespanso on Windows (replace “user” with your actual username) and ~/Library/Application Support/espanso on macOS. In the “match” sub-folder you will find a file called “base.yml”. Open this in any text editor to see examples of how you can add your own snippets.

Credit: Justin Pot

The three snippets we saw before are all here. You can edit them, if you like, to get a feel for how things work. I made a few snippets by copying and pasting things to the end of the document. Espanso will reload the configuration file every time you save the file and let you know if something is broken. Note that the number of spaces before each line is important—things won’t work if you’re not precise.

Like I said: there is going to be some trial and error here. I managed to built a few snippets while playing around. By digging around in the documentation, I managed to get the form-filling pop-up working.

If building your own snippets proves too difficult, maybe you can start with the large hub of pre-built collections. You can, for example, quickly add shortcuts for every emoji, or for special characters. Another set corrects all kinds of common mispelling. This is a great way to get a feel for what the application can do, and you can even open the files to see how they work.

Credit: Justin Pot

Ultimately, though, this is an application you’re going to need to work at to get the most out of. I can’t recommend reading the documentation enough. It can be a little dense, but you’re smart—I know you can figure this out. If not, well, there’s always the paid options.