Text Expanders for Mac: Built-in Text Replacements and the Alternatives
Type a short code and get a full reply, address or template. How to use macOS Text Replacements for free, where they fall short, and the apps that go further.
Quick answer
macOS has a free text expander built in. Open System Settings → Keyboard, click Text Replacements…, click +, and enter a short code (like ;addr) and the text it should become. Type the code followed by a space or punctuation in most apps and it expands. For longer templates, more reliable expansion across apps, or snippets that live alongside your clipboard history, use a text-expander app.
If you type the same email reply, address, sign-off or code snippet several times a day, a text expander pays for itself within the week. You type a few characters and they're replaced by the full text.
Option 1: macOS Text Replacements (free, built in)
- Open System Settings and choose Keyboard.
- Under Text Input, click Text Replacements…
- Click +. In Replace, type your short code; in With, type the full text.
- Click Done, then type the code followed by a space or punctuation in an app like Notes, Mail or Messages.
Replacements you create sync to your iPhone and iPad through iCloud, which is a genuine bonus.
Pick codes that never happen by accident
A code that's also a real word will expand when you don't want it to. Start codes with a character you rarely type, such as a semicolon or double letter: ;sig, ;addr, zzthanks.
Where built-in replacements fall short
- They don't work everywhere. They're reliable in Apple's own apps and most native Mac apps, but inconsistent in some others, including some browsers' web editors and apps built on web technology.
- Plain text, one line in practice. The editor is a small table cell, which makes multi-paragraph templates awkward.
- No images, files or formatting.
- No organisation beyond an alphabetical list.
Option 2: a dedicated text-expander app
Dedicated apps watch what you type across the whole system and replace triggers in any app. The main choices:
| App | Model | Good for |
|---|---|---|
| TextExpander | Subscription | Teams sharing snippet libraries; fill-in fields and advanced logic |
| Espanso | Free, open source | Power users happy to configure snippets in text files |
Option 3: snippets inside your clipboard manager
The things you'd put in a text expander are usually things you've already copied: the reply you sent yesterday, the address you pasted last week. A clipboard manager can't expand a trigger as you type, but it means you never have to set the snippet up in the first place. In EasyPaste you pin the clip once and it stays at the top of your history, never auto-cleared.
When you need it, press ⌃ ⌘ V in any app, type a word from the reply, and copy it back. It's a few keystrokes more than a trigger, with nothing to configure and nothing watching what you type. Many people use both: Text Replacements for two or three tiny codes, and a pinned clip for everything longer.
Is a text expander a keylogger?
To notice a trigger, a text expander has to see what you type, so it's fair to ask what it does with that. Look for apps that keep your snippets locally, don't store what you type, and only hold typed characters while they could still be the start of one of your triggers. System-wide expansion needs Accessibility (or Input Monitoring) permission, which you grant in System Settings → Privacy & Security, so only give it to an app you trust. macOS's own Text Replacements need no extra permission.
Snippet ideas to set up today
;addr— your postal address;mail— your email address;cal— your booking link;ty— a thank-you reply you'd send a customer;sig— a full email signature;bug— a bug-report template with steps, expected and actual result;date— for templates you fill with the date (some apps can insert today's date automatically)
Screenshot Everything, Find Anything: Using Screenshots as a Second Brain on Mac
How to Take a Scrolling Screenshot on Mac (Full Page, Long Chats, Documents)
How to Organize Screenshots on Mac and Stop Losing Them