Cut down on repetitive text with these free TextExpander alternatives

Do you find yourself typing the same thing over and over again? Sort've gets old doesn't it? Wouldn't it be nice to just automatically insert that boilerplate text with a simple shortcut? That's where a text expander comes in handy! The venerable TextExpander is an excellent option, but it is not free. Here we'll explore some free & open source alternatives. I promise, once you integrate one of these tools into your workflow, things will never be the same.

What's a text expander?

A text expander is basically what it sounds like. It takes a short keyword and expands it into a full word, sentance, paragraph...anything! The epyonmous TextExpander is a great example of one such product. TextExpander, however, is not free. While it's got some great features, I believe these free alternatives are just as useful for your average needs.

Beeftext

Beeftext is Windows-only. It's got a simple GUI and its easy to get started with. However, that doesn't mean it's not powerful. You can create some pretty advanced combos (snippets) thanks to Beeftext's variable substitutions. For example, I needed a way to automatically insert the word morning, afternoon or evening depending on the time of day. Beeftext has a variable type that calls a powershell script, then inserts the script's output into your snippet. So I whipped up a quick powershell one-liner to do just that. I passed that script to Beeftext et voila! Now I have a quick way to insert "Good <morning/afternoon/evening>," into my correspondance. There's a whole lot more that you can do with Beeftext, so check out the Beeftext wiki for complete documentation.

Espanso

Espanso is cross-platform & highly customizable. However, it doesn't have much of a GUI -- at all. You'll be editing YAML files by hand to define your snippets. While that increases the learning curve, don't be discouraged! YAML files are incredibly simple to work with (and you'll get to learn a little bit too)! Espanso is just as powerful as Beeftext, if not more so. The documentation is quite detailed, but easy to follow. I recommend Espanso if you need cross-platform snippets. Since the configuration is YAML (text) based, it's very easy to sync with Git, Syncthing, Dropbox, etc.

Espanso YAML Configuration

 

AutoHotKey

AutoHotKey is the original text expander (and so much more). It's as barebones as you can get. It is very powerful -- you can pull off some pretty neat things with it. It's a Windows-only scripting language that allows you to create a keyboard (or mouse) shortcut to do just about anything. In fact, I wrote an AutoHotKey script a few years ago that got a few hundred stars on GitHub, before Windows Terminal came along and depricated my efforts. Ahhh, memories... Anyway, AHK is a little beyond the scope of this post. But if you're ever interested in learning, it's a decent introduction to basic scripting.

Closing

Since my current job requires that I use Windows (😣), I've found BeefText to be the perfect companion to my daily workflow. The GUI is simple and it's very easy to add/edit snippets on-demand. I've also got Espanso setup on my Mac and Linux machines. Espanso is a little more complicated to get setup, but the documentation is extremely detailed. When I have the time, I may work on replicating all of my Beeftext combos in Espanso, just so I have the same experience across all platforms. One area where these free options fall short is syncing and sharing: TextExpander allows for syncing and sharing of snippets with friends/coworkers, automatic sharing with employees, setting permissions, etc. With these free options, you have to bring your own syncing/sharing platform. That said, I encourage you to try either of these options. Once you start using text snippets you'll wonder how you ever lived/worked without them!

Comments