How to Use Text Replacements on Mac Effectively

macOS Text Replacements let you type a short abbreviation that automatically expands to a longer phrase. Set them up in System Settings > Keyboard > Text Replacements. They work system-wide in all native Mac apps but not in Electron-based apps like Slack and VS Code. Charm's Oracle word prediction covers the Electron app gap where text replacements can't reach.

How to set up Text Replacements on Mac

Setting up Text Replacements takes less than two minutes. Here is the exact path:

  1. Open System Settings (the gear icon in your Dock or Apple menu).
  2. Select Keyboard from the left sidebar.
  3. Click Text Replacements... in the top right of the Keyboard panel.
  4. Click the + button at the bottom left of the list.
  5. In the Replace column, type your abbreviation - this is the trigger you will type.
  6. In the With column, type the full text you want it to expand to.
  7. Press Return to save. The replacement is live immediately.

There is nothing more to configure. As soon as you press Return, the replacement works in every supported app. No restart required.

To delete a replacement, select the row and click the - button. To edit one, double-click the cell you want to change.

If you want to undo an expansion after it fires - for example, if you typed an abbreviation intentionally as text - press Command + Z immediately. This reverts the expansion and keeps what you typed.

The best text replacements to set up

Power users who set up a solid library of text replacements save an average of 15-20 minutes per week on repetitive typing. The key is choosing triggers that are short, memorable, and unlikely to appear in normal writing. A useful convention is to prefix all your abbreviations with a special character like ;; - this makes them impossible to trigger accidentally.

Abbreviation Expands to Use case
;;rgds Kind regards, [Your Name] Email sign-off
;;ty Thank you for getting back to me. Email opener
;;addr Your full home or work address Forms and correspondence
;;omw On my way! Quick replies in Messages
;;ph Your phone number Forms, email footers
;;co Your full company name Any time you type the company name
;;arrow -> Arrows in notes and docs
;;em Your email address Forms, login fields
;;lgtm Looks good to me. Code review and approvals
;;oom I'm out of the office until [date]. I'll respond when I'm back. Out-of-office replies

The ;; prefix is optional but highly recommended. Without it, short triggers like rgds or omw can fire when you didn't intend them to - for example, if a word happens to end in those letters. The double-semicolon is a pattern that never appears in normal English, so your abbreviations only trigger when you deliberately type them.

Why Text Replacements don't work in Electron apps - and what to do

This is the most common frustration Mac users hit after setting up their library. You type ;;rgds in Slack and... nothing happens. Same in VS Code, Notion desktop, Discord, and most other modern productivity apps.

The reason is technical: many popular apps are built on Electron, a framework that wraps a web browser inside a desktop window. Electron apps handle their own text input independently of macOS, which means they bypass the system hook that Text Replacements relies on. Apple cannot reach inside them.

Apps known to have this limitation include: VS Code, Slack, Notion (desktop), Discord, Figma, 1Password, and many others. If you're unsure whether an app is Electron-based, check its package contents - Electron apps contain a Chromium browser bundle inside.

There are three ways to handle this:

  • Use a third-party text expander. Tools like Typinator and TextExpander work across all apps, including Electron, because they use a different input interception method. Both cost money - Typinator is around $29 one-time, TextExpander is a subscription - but they are the most complete solution if phrase expansion in Electron apps is essential to you.
  • Use the browser version of Electron apps. Slack, Notion, and most Electron apps have a web version that runs in Safari or Chrome. Text Replacements work fine in browser tabs. For Slack in particular, the web version is functionally identical to the desktop app.
  • Use Charm's Oracle for word prediction. Charm's Oracle feature predicts your next word as you type, system-wide, including inside Electron apps. It won't expand full phrases from a single abbreviation, but it does dramatically reduce keystrokes by suggesting completions mid-word and at word boundaries. For most users, Oracle covers the gap well enough that a dedicated text expander isn't necessary.

Text Replacements vs Charm: how they work together

Text Replacements and Charm are not competing tools. They solve different problems and should both be running at the same time.

Text Replacements handle phrase expansion: you type a short trigger and get a long, fixed phrase. They are perfect for boilerplate text you use constantly - email sign-offs, your address, your company name, canned responses. They do not correct errors or predict words.

Charm handles real-time spelling correction, grammar correction, and word prediction. It fixes mistakes as you type and suggests completions through Oracle. It does not expand phrases from abbreviations.

Together, they cover the full spectrum of typing assistance. Text Replacements save you from typing long phrases repeatedly. Charm ensures what you do type is spelled and written correctly. There is no overlap and no conflict in normal use.

There is one rare edge case worth knowing: if you create a text replacement abbreviation that looks like a common misspelling, Charm's autocorrect might correct it before the expansion fires. For example, if you used teh as a trigger, Charm might correct it to "the" before macOS has a chance to expand it. The fix is simple: use a prefix like ;; on all your abbreviations. A string like ;;teh is not a misspelling of anything, so Charm will leave it alone and Text Replacements will expand it correctly.

Recommended setup: Enable Text Replacements for fixed phrase expansion. Run Charm for error correction and word prediction. Use the ;; prefix on all abbreviations to prevent any conflicts. Both tools stay out of each other's way.

Frequently asked questions

How do I add a text replacement on Mac?

Go to System Settings > Keyboard > Text Replacements. Click the + button, type your abbreviation in the Replace column and your expansion text in the With column, then press Return. The replacement is active immediately in all supported native apps.

Do text replacements work in all Mac apps?

No. Text Replacements work in native macOS apps like Mail, Notes, Pages, Safari, and Messages. They do not work in Electron-based apps like VS Code, Slack, Notion desktop, or Discord. For those apps, Typinator or TextExpander provide full text expansion support, or you can use Charm's Oracle word prediction as a lighter-weight alternative.

How do I stop a text replacement from triggering?

Press Command + Z immediately after the expansion fires. This undoes the replacement and restores the original abbreviation you typed, so you can continue using it as plain text.

Do text replacements sync across Mac and iPhone?

Yes. If iCloud Drive is enabled on your Apple ID, Text Replacements sync automatically across all your Apple devices - Mac, iPhone, and iPad. Any replacement you add on one device appears on the others within seconds.

Type less, write better.

Text Replacements expand phrases. Charm corrects errors and predicts words. Together they cover every gap. $9.99, yours forever.

Learn more about Charm Get Charm for Mac $9.99