Using TextExpander will save you hours of time. Getting your team to use it will save weeks of time. But that’s not the only reason it’s fantastic.
I first discovered TextExpander in 2018 while listening to Seth Godin on the Tim Ferriss Show. It quickly made its way into my core tool stack and has remained something I use all day, every day.
“If it’s difficult for you to say no, one thing that I find really helpful is write four paragraphs that are thoughtful and generous and insightful about why you’re saying no. Copy it. Put it into TextExpander &no. So anytime someone asks you this, you can write &no and all four paragraphs will come to that person. It took you no effort whatsoever. They end up feeling okay. You end up feeling free. Then you can get back to your job.”Seth Godin
What is TextExpander?
TextExpander is a downloadable software that allows you to quickly and easily paste pre-written blocks of text by typing simple shortcodes. It sounds simple, but as you begin to use it, you soon realise why it’s so popular. People love it. In fact, many people testify that they just can’t live without it.
What does it do?
Every good system focuses on eliminating rote, menial tasks; even down to the smallest of activities like typing. It all adds up, after all. TextExpander does this by cutting out repetitive typing. It can also fix your typos and make things easier to remember.
A snippet is a small shortcode that triggers TextExpander to paste in a different chunk of text in its place. For example, when I type ;msurl TextExpander instantly replaces this with https://MrSystem.co.uk. Anything you type often enough (or is hard enough to remember) is a prime target for a TextExpander snippet.
What’s the point?
How many times have you had to type your email this month? Or your phone number? Your home or work address? A website URL? TextExpander reduces this to mere fractions of a second.
When people wish to speak to me about my Asana Adoption Programme (shameless plug), I simply type ;book to paste a link to my Calendly booking page.
It helps recall
It fixes typos
This one is easy. How often do you make typos?
It turns out that I’m incapable of typing the word “just“. Thankfully, TextExpander sits in the background fixing every “jsut” for me. It also replaces dave with Dave, because it saves me from pressing shift (yes, really).
It aids consistency
How many times have you had to send the same message? A response to a common question? A polite email to decline? Instructions? Directions? And how many different ways have you said it? TextExpander allows you to say it the right way, the same way, every time. Easy.
For example, some clients meet me in person at my office in Birmingham City Centre. Local development works have made the route quite tricky recently. So, of course, I created a TextExpander snippet. This way, typing ;access into the meeting invite auto-fills the building access details, links to nearby car parks, and Google Maps directions.
It improves productivity
When we waste time on tedious, menial busy-work, we become bored and disengaged. Thus, it becomes harder for managers to achieve their objectives and organisations lose money. Nobody wins.
The reverse is true, however, when people can expend more of their creative energy on meaningful, challenging work. TextExpander frees up a little extra time to focus on the work that matters most.
It’s not only used by small teams and companies, either. No, it’s used by teams at many of the world’s most prominent companies, including Automattic (WordPress), Uber, Dropbox, Shopify, Tumblr, Genentech and many more.
Time is the scarcest resource of the manager; If it is not managed, nothing else can be managedPeter Drucker
How easy is it?
Super easy! All you need to do to create a new snippet is:
- Click the “add snippet” button
- Type your snippet text
- Give your snippet a name
- Set your trigger abbreviation
That’s it. You can now start using your snippet.
How safe is TextExpander?
Does it log keystrokes?
TextExpander is not a keylogger. It does not store nor send keystrokes anywhere. To function, it temporarily holds a tiny amount of data in your computer’s memory. It then clears this log when you use a shortcut, switch applications, and of course, when you quit the program.
You can see TextExpander’s security statement for more info.
Is it secure?
Yes. But don’t use it to store or expand sensitive data (duh!). Why? Well, for one, it doesn’t work with secure input fields. But more importantly, anybody with access to your computer could easily see it.
To be clear, do not use TextExpander to store:
- API Credentials
- Anything that will contravene the GDPR (i.e. client email addresses)
If you want an easier way to manage passwords, use a secure password manager like LastPass (affiliate link). If you want an easier way to manage contacts, use a purpose-built CRM like Pipedrive or ActiveCampaign (also affiliate links).
TextExpander synchronises your snippet library to the cloud. This way, you can access all the same snippets no matter which computer you’re using, as long as you’re logged in. You can also use it with iOS and Google Chrome (no news on Android for now, unfortunately, but watch this space!)
A nested snippet is a snippet within a snippet. For example, say you want a snippet for each of your website page URLs. Start with one snippet for the root domain:
Then include this in your other snippets for each full URL:
Used well, this will allow you to update many snippets in one fell swoop, rather than one by one.
Plain text: The most common of TextExpander snippets is to expand good old plain text.
Formatted text: Make use of bold, italics, underlines, hyperlinks, font, size, colours, positioning, lists and more.
Scripts: Developers will enjoy the various scripting options available:
- Shell Script
Expand only after whitespace
A simple typo correction of dont → don’t would affect any other words containing “dont“, like “orthodontist”. By requiring a space before a snippet, we can eliminate this problem. Enter the “expand when” option.
You may need to capitalise some expanded content. Thankfully, TextExpander allows you to “adapt to the case of abbreviation”. The three options supported are:
- lower case
- Sentence case
- UPPER CASE
Consider the snippet ttyl → talk to you later
- Great. Talk to you later. ← Ttyl
- Thanks. I’ll be able to talk to you later. ← ttyl
- FINE! I’LL TALK TO YOU LATER! ← TTYL
Sometimes you will struggle to remember a snippet abbreviation. Inline search to the rescue! TextExpander’s inline search allows you to pop up a search bar without even leaving the page. This way, you can find the snippet you need and get right back to work. I use CTRL + SHIFT + ALT + S for this.
Enable / disable via hotkey
Sometimes, you will temporarily want to block TextExpander from expanding snippets. To do this, set a hotkey combination via the preferences section. I use CTRL + SHIFT + ALT + T as this is a rarely used shortcut in any other computer programs.
Snippet creation hotkey
You may also want to create a new snippet on-the-fly. Setting a hotkey for this pops up a “new snippet” window. I use CTRL + SHIFT + ALT + N.
Quickly edit last expanded snippet
Over time, you will stumble across old snippets that need updating. You can set a hotkey for this, too. I set mine to CTRL + SHIFT + ALT + L. When I press this, TextExpander pops open the editor for the last snippet I used; allowing me to edit it quickly and get straight back to work.
Macros are one of the more impressive features of TextExpander. Rather than using plain old text, they allow you to input and manipulate dynamic data.
Date / Time
As the name suggests, these macros insert the current date and/or time.
But that’s not all. TextExpander’s math functions also allow you to calculate and format these as you see fit. Want to input the date three days from now? Done. Need it in ISO format? No problem.
Fill-ins act like a form within a snippet. They allow you to customise each snippet before it expands.
They are useful for:
1. Personalising messages
2. Building UTM parameters
And many more.
Optional selections allow you to choose from a selection of optional text blocks before expanding. This is particularly useful for high-volume communicators like customer support desks.
By default, your cursor will land at the end of your expanded text. But that’s not always ideal. This option lets you decide where to place the cursor when your text expands. If you’re a coder or use markdown often, you’ll love this feature.
Include clipboard contents
You can also include the contents of your clipboard within your expanded snippet.
Using a snippet like ;pem may be able to insert your email into a form field. But when filling out forms, that’s only one field of many.
TextExpander can also simulate the Tab, Enter, Return, Esc, and Arrow keys. This means you can fill out an entire standardised form with just one snippet. You can also use this to to fill out emails (i.e. CC, subject & body). You could even use it to fill out entire spreadsheets if you wanted!
Rich text formatting
Plain old unformatted text tends to do the job for most snippets, but you have the option of rich text, too. The editor provides all the formatting options you’d expect, including style, font, size, list type, justification and hyperlinks etc. But it also includes images. If you often find yourself adding logos or diagrams to your documents and emails, you’ll love this feature.
TextExpander also hosts a selection of helpful pre-made snippet libraries called “public groups”. You can access these either via shared URLs or via the directory when logged into your account at TextExpander.com:
Here are a few examples:
- creme brulee → crème brûlée
- chateau → château
- crepe → crêpe
- coment → comment
- abvoe → above
- pwoerful → powerful
GS Emoji Cheat Sheet
- 🙂 → 😄
- :+1: → 👍
- :guitar: → 🎸
NATO Phonetical Alphabet
- ,,a → Alpha
- ,,b → Bravo
- ,,c → Charlie
- wp.addpage → URL to add a new page
- wp.addpost → URL to add a new post
- wp.admin → URL of WordPress admin dashboard
[Mr. System] Async/Sync Communication**
- ;nntr → No need to respond.
- ;credit → Insert a template for the CREDIT framework
- aasync → asynchronous communication
[Mr. System] Date/Time: Simple**
- ;today → insert today’s date
- 1030pm → 10:30 pm
- +35m → insert current time +35 mins
**You can find the link to these and more at the bottom of this article.
TextExpander is as cheap as chips, considering the time and effort it will save you. There are two main pricing packages; one for individuals and another more feature-rich plan designed for teams. They also offer a bespoke package for larger organisations seeking SCIM (via Okta) and other enterprise features.
Note: See below to get 20% off your first year of the “Life Hacker” plan. Or contact me for bulk licensing and value-added packages.
Putting it all to use
You’ll be glad to know that getting started with TextExpander is easy. Here’s what to do. Give it a go!
Step 1. Install it
Head to the link below and get a copy of TextExpander (if you haven’t already).
Step 2. Make a short list of use cases
Start small. Pick a handful of snippets. If you pick too many right away, you’ll find it hard to remember them all.
I recommend starting with some simple ones like:
- Your first/last names
- Email addresses
- Phone numbers
- Home/work addresses.
Anything you type daily is a good start.
You may also want to create a couple of snippets for things you struggle to remember, such as:
- Webpage URLs (i.e. Calendly)
- Brand colors (ie #00bf7f)
- Common, difficult spellings (i.e. accommodation)
There are too many use cases to list here in this article. But fret not, I maintain a definitive list of TextExpander use cases and examples. Take a look for ideas and inspire action.
Step 3. Pick your standard snippet pre-fix
Pick a character pre-fix to distinguish your snippets from regular words. Otherwise, telling a friend about the latest book you read could, rather infuriatingly, be replaced with a link to your calendar booking page. That’s why I use ;book instead of book to share my calendar.
Alternatively, some people like to double up the first letter (so my ;pem would become ppem).
Not sure? Use a semicolon.
For most snippets, it’s best to stick with a single, uniform pre-fix. The most common is to use a semicolon, thanks to its accessible location on the keyboard home row and lack of hotkey conflicts.
But understand when not to use it.
Some snippets work better with a different trigger key.
- Math functions work well with + or – as they are more contextual than a semicolon.
- You might also consider ? for clarification snippets. For example, my Asana snippets library lets users type ?tags to get some instant clarification on how to use tags in Asana.
Some snippets don’t even need a trigger key.
Typos are the most obvious example. But think also about capitalising names or brands (linkedin > LinkedIn).
Step 4. Build and test your snippets
Fire up TextExpander, add your new snippets and give them a whirl. Check that your snippets work as expected and that you know how to trigger them.
That’s it! You’re now saving time and hassle with TextExpander.
Tips & best practices
Keep shortcodes short, but not too short
Clearly, the snippet ;myemailaddress is not much better than typing firstname.lastname@example.org. But ;e isn’t much better either. It’s too short. This would conflict with ;ecal (to get to your editorial calendar).
Instead, you might use ;wem for your work email or ;pem for your personal email.
Don’t try to build everything at once
The more snippets you add now, the more of them you’ll forget. So just for now, add only the ones you’re likely to use most often. You can always add more later. We’ve already discussed how easy that is.
Follow a structured schema
This will aid your recall. For example, if you decide to use ;pem for your personal email, it naturally follows to use ;wem for your work email. Now, instead of remembering two snippets, you only have to remember one schema. You could use the same for phone numbers, too:
- ;pnum = personal number
- ;wnum = work number
Use a snippet naming convention
TextExpander lists snippets alphabetically. So a wise idea is to group similar snippets by using a good naming convention.
Say you have three emails (personal, university and work). A good convention may look something like this:
- Email: Personal
- Email: University
- Email: Work
This means that your email snippets won’t end up sitting in three different places in the list.
Here’s how ASIThemes organises their public group for WordPress URL snippets:
Set a recurring task to review and update
Remember, everything requires maintenance. TextExpander is no different. It’s easy to add a bunch of snippets that never actually get used. This clogs up your list and hogs your limited trigger word real estate. To combat this, I recommend setting a recurring task in Asana (or your work management tool of choice) to remind you every 6-12 months to review and prune your list.
Ready for the super obvious conclusion?
If you want to save time and be more productive, you should try TextExpander.
If you want to stop having to waste time finding things or going back to fix typos, you should try TextExpander.
If you want the people at your organisation to get the same benefits, get them to try TextExpander.
TextExpander doesn’t cost much, but even so, you can still get 20% off if you sign up with my affiliate link below. Disclaimer: I will get enough commission to buy a coffee at Birmingham’s best coffee shop.
Helpful TextExpander resources
My public snippets:
- Mr. System – Asana Snippets (Basic)
- Mr. System – Asana Snippets (Advanced) (work in progress, don’t judge me!)
- Mr. System – Async/Sync Communication
- Mr. System – Date/Time: Simple
- Mr. System – Date/Time: ISO
Get 20% off your first year of the “Life Hacker” plan for individuals:
Or contact me for exclusive bulk team pricing and value-added options.