Mac Text Replacement: The Built-In Feature You're Not Using (And Its Limits)
macOS has a built-in text replacement feature that most people don't know about. Here's how to set it up, what it can do, and where it falls short.
Your Mac has a text expansion feature built into the operating system. No app to install. No money to spend. It’s hiding in System Settings, and most Mac users don’t know it exists.
Here’s how to set it up, what it’s good for, and where you’ll hit its limits.
How to set it up
- Open System Settings
- Click Keyboard
- Click Text Replacements (or “Text Input” > “Text Replacements” depending on your macOS version)
- Click the + button to add a new replacement
- In the “Replace” column, type your shortcut (like
@@) - In the “With” column, type what it should expand to (like your email address)
That’s it. Now when you type @@ and press Space in any supported app, it becomes your email address.
Good starter shortcuts
Here are practical replacements to set up first:
| Replace | With |
|---|---|
@@ |
your email address |
aaddr |
your mailing address |
pph |
your phone number |
zzoom |
your Zoom meeting link |
tty |
Thanks for reaching out. I’ll get back to you shortly. |
brb |
I’ll be right back. |
Tip on triggers: Double the first letter (like aaddr) or use a prefix like x or z to avoid accidentally triggering a replacement while typing normally. You don’t want “address” to partially trigger your mailing address.
Where it works
macOS text replacement works in native apps: Mail, Messages, Notes, TextEdit, Safari form fields, and most apps built with Apple’s standard text frameworks.
It syncs across your Apple devices through iCloud. Set up a replacement on your Mac, and it appears on your iPhone and iPad too (assuming you have iCloud enabled for text replacements).
Where it doesn’t work
Here’s where the built-in feature falls short:
Inconsistent app support. It doesn’t work in many third-party apps, especially Electron apps (Slack desktop, VS Code, Discord). Chrome has spotty support too. If you spend most of your day in these apps, you’ll notice the gaps.
Plain text only. You can’t expand to bold text, italic text, links, or any formatting. No images. Just plain characters.
No dynamic content. You can’t insert today’s date, the current time, or the contents of your clipboard. Every expansion is exactly the same every time.
No macros or logic. There’s no way to create a template that asks for input before expanding, no conditional text, and no way to run calculations.
No organization. All your replacements live in one flat list. If you have 50 of them, finding and editing the right one means scrolling through an unsorted list.
No grouping or context. You can’t have different replacements for different apps. Your coding shortcuts fire in Mail, and your email shortcuts fire in your editor.
Unreliable syncing. iCloud sync for text replacements is famously inconsistent. Replacements sometimes disappear, duplicates appear, or new entries don’t propagate to other devices.
No import or export. If you want to share your replacements with a new Mac (without relying on iCloud sync), there’s no export button. You’d need to use Terminal commands to extract them from the preferences database.
When to upgrade to a text expander
macOS text replacement is genuinely useful for 5 to 10 simple shortcuts: your email, phone number, address, and a few common phrases. If that covers your needs, there’s no reason to install anything else.
You’ll outgrow it when you need:
- Dynamic dates: Inserting today’s date in a specific format (like
2026-03-12orMarch 12, 2026) - Fill-in templates: A snippet that asks for a client name before expanding a proposal template
- Rich text: Formatted email signatures, bold headings, or styled text
- Image expansion: Inserting a logo, diagram, or saved image by typing a trigger
- Reliability in all apps: Consistent expansion in Chrome, VS Code, Slack, and other non-native apps
- Organization: Grouping snippets by project, client, or topic
- App-specific snippets: Different expansions in different apps using the same trigger
A dedicated text expander like TypeSnap handles all of these for a one-time price of $17.99. It picks up where macOS text replacement leaves off, and it works in every app on your Mac, not just native ones.
One path, not a cliff
The nice thing about macOS text replacement is that it introduces you to the concept. Once you’ve experienced the convenience of typing @@ instead of your full email address, you’ll naturally want to do more with it. That’s when a dedicated tool makes sense.
Start with the built-in feature. If you find yourself wishing it could do more, that’s the signal to upgrade.
Stop typing the same things over and over
TypeSnap expands your snippets instantly. One-time purchase, no subscription.