How to save time and be more productive with TextExpander

September 10, 2020
12 min. read
Table of Contents


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.

animation showing how TextExpander works

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.

How? Snippets.

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 Anything you type often enough (or is hard enough to remember) is a prime target for a TextExpander snippet.

animation of TextExpander expanding a URL snippet

What’s the point?

It’s faster

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.

animation of TextExpander expanding booking link snippet

It helps recall

How many times have you forgotten the correct naming convention? Or a frequently visited webpage URL? A javascript function? A CSS class? For me, TextExpander turns #msgreen into #00bf7f, making it easy to turn things green.

animation of TextExpander CSS snippet

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).

animation of TextExpander auto-correcting a typo

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.

animation of TextExpander pasting directions into a Google Calendar invite

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 managed

Peter Drucker

How easy is it?

Super easy! All you need to do to create a new snippet is:

  1. Click the “add snippet” button
  2. Type your snippet text
  3. Give your snippet a name
  4. Set your trigger abbreviation

That’s it. You can now start using your snippet.

animation of how to create a TextExpander 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:

  • Passwords
  • 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).

Useful features 

Cloud sync

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!)

Nested snippets

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:

animation of a website snippet

Then include this in your other snippets for each full URL:

animation demonstrating TextExpander nested snippets

Used well, this will allow you to update many snippets in one fell swoop, rather than one by one.

Snippet types

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:

  • Javascript
  • Shell Script
  • Applescript

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.

animation of the whitespace prerequisite

Case sensitivity

You may need to capitalise some expanded content. Thankfully, TextExpander allows you to “adapt to the case of abbreviation”. The three options supported are:

  1. lower case
  2. Sentence case

Consider the snippet ttyltalk to you later

  • Great. Talk to you later. ← Ttyl
  • Thanks. I’ll be able to talk to you later. ← ttyl
animation of URL text capitalisation

Inline search

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.

animation of TextExpander inline search

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.

screenshot of TextExpander hotkey menu

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.

animation of dynamic date time input

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.

animation of date math calculation


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

animation showing how to us fill-ins to create canned emails

2. Building UTM parameters

animation showing how to use fill-ins to build utm parameters

And many more.

Optional Selections

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.

Cursor placement

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.

animation showing the cursor placement within code comments

Include clipboard contents

You can also include the contents of your clipboard within your expanded snippet.

animation of using clipboard contents within expanded HTML code

Simulate keystrokes

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!

animation showing the simulation of tab keystrokes in an email

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.

animation of TextExpander's rich text formatting

Public Groups

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

Screenshot of the public groups option

Here are a few examples:

Accented Words

  • creme brulee → crème brûlée
  • chateau → château
  • crepe → crêpe
  • etc.
animation showing an example of the accented words public group

TidBITS Autocorrect

  • coment → comment
  • abvoe → above
  • pwoerful → powerful
  • etc.
animation showing an example of the TidBITS autocorrect public group

GS Emoji Cheat Sheet

  • 🙂 → 😄
  • :+1: → 👍
  • :guitar: → 🎸
  • etc.
animation showing an example of the GS Emoji Cheat Sheet public group

NATO Phonetical Alphabet

  • ,,a → Alpha
  • ,,b → Bravo
  • ,,c → Charlie
  • etc.
animation showing an example of the NATO phonetic alphabet public group


  • wp.addpage → URL to add a new page
  • wp.addpost → URL to add a new post
  • wp.admin → URL of WordPress admin dashboard
animation showing an example of the WordPress public group

[Mr. System] Async/Sync Communication**

  • ;nntr → No need to respond.
  • ;credit → Insert a template for the CREDIT framework
  • aasync → asynchronous communication
  • etc.
animation showing an example of the Mr. System asynchronous communication public group

[Mr. System] Date/Time: Simple**

  • ;today → insert today’s date
  • 1030pm → 10:30 pm
  • +35m → insert current time +35 mins
  • etc.
animation showing an example of the Mr. System date/time simple public group

**You can find the link to these and more at the bottom of this article.

TextExpander Pricing

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.

Screeshot of TextExpander's pricing tiers

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.
Animation of expanded contact information

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)
Animation of spelling correction

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.

  1. Math functions work well with + or  as they are more contextual than a semicolon.
  2. 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 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.

These are also good because pretty much no words begin with wem or pem, unless you live in Wembley.

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:

Screenshot showing ASIThemes' WordPress snippets naming convention

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.

If you want to store passwords and other sensitive or personal data, use LastPass, Pipedrive and/or ActiveCampaign, not 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

Further reading:

My public snippets:

Get TextExpander:

Get 20% off your first year of the “Life Hacker” plan for individuals:

Get 20% off TextExpander

For your first year of the “Life Hacker” plan.

View offer

Or contact me for exclusive bulk team pricing and value-added options.

Like this? Want more?

Get the latest articles delivered to your inbox.

I'm producing a series of detailed articles to help teams and organisations to adopt the tools, processes and methodologies necessary to eliminate wastage and do their best, most fulfilling work.

Subscribe to new articles

Find out when my next article goes live

  • Hidden
    Which contact referred them?
  • Hidden
    Which email in the series did they refer from
  • This field is for validation purposes and should be left unchanged.


1 Comment

Leave a Reply

%d bloggers like this: