Free Text Expander for Mac: The Best Options, Compared
A text expander turns a short trigger you type into something longer, a snippet of boilerplate, your address, a support reply, or an emoji, and you do not have to pay for a good one on a Mac. This guide covers the best free text expander options for Mac, from Appleās built-in Text Replacements to the open-source espanso, and where a focused tool like Comoji fits when the text you expand most is :emoji:.
Short version: for a handful of snippets, Appleās built-in Text Replacements are free and already on your Mac. For power-user expansion with variables, dates, and scripts, espanso is a free, open-source option. And if what you really want is fast emoji everywhere, colon autocomplete beats maintaining a list by hand. Read on for how each one works and which to pick.
What counts as a free text expander
A text expander watches what you type and swaps a short trigger for a longer replacement: type omw and get āOn my way!ā, type :fire: and get š„. The best-known dedicated app, TextExpander, is a paid subscription, but you do not need it to get most of the value on a Mac. Two free routes cover almost everyone: Appleās built-in Text Replacements for simple snippets, and espanso for scriptable, cross-platform expansion. If your main goal is emoji rather than long snippets, there is a faster path than either, which we get to below.
Apple Text Replacements: the free built-in expander
macOS ships a basic text expander for free, and it syncs to your iPhone and iPad over iCloud. It is the right first stop for a small set of snippets you use constantly:
- Open System Settings āŗ Keyboard āŗ Text Replacements (on older macOS it is under Keyboard āŗ Text).
- Click the
+button. - In Replace, type the trigger, e.g.
omwor:fire:. - In With, type the expansion (for an emoji, paste one from the picker you open with
Control-Command-Space). - Press
Return, and repeat for each snippet you want.
The strengths are that it is free, built in, and syncs across your Apple devices, so an omw rule you add on the Mac follows you to your phone. The limits show up fast: there is no autocomplete or preview, you must remember every trigger exactly, and managing more than a few dozen entries in that tiny scrolling list is a chore. For emoji specifically, we go deep on this trade-off in Text Replacements vs. emoji autocomplete.
espanso: a free, open-source text expander
If you have outgrown Text Replacements and do not want a subscription, espanso is a free, open-source text expander that runs on macOS, Windows, and Linux. You install it (on a Mac, brew install espanso is the usual route) and define your snippets in YAML config files. Because it is config-driven, it does far more than static swaps: dynamic dates, shell command output, clipboard contents, and fill-in-the-blank forms are all in scope, and you can share packages of snippets between machines.
The cost of that power is a learning curve. You edit text files rather than a settings pane, and getting comfortable with the YAML syntax and matching rules takes a little time. For developers and heavy snippet users it is a genuinely capable free alternative to paid expanders; for someone who just wants a few emoji, it is more setup than the job needs.
Where free text expanders slow you down for emoji
Both free options are great at expanding text you have defined. For emoji, where the ālibraryā is 1,800-odd characters you cannot possibly enter by hand, the general-purpose model works against you:
- You have to define every emoji trigger yourself, there is no starting set and no discovery.
- There is no autocomplete or preview, so you must remember each trigger exactly,
:fire:versus:flame:, or nothing happens. - A typo in the trigger fails silently, with no hint why.
- None of them rank by what you actually send or handle skin tones, so your most-used emoji are never surfaced first.
The faster way for emoji: colon autocomplete
If you use Slack or Discord, you already know a quicker model for emoji: type a colon and a few letters, :fire, see ranked matches, and accept with Tab. There is no list to build and nothing to memorize. Comoji brings that habit to every text field on your Mac, so the emoji part of your typing needs no text expander at all.

:fire and press Tab, the picker comes to your cursor, no triggers to define in advance.Comoji is a tiny menu bar app. Type a colon token like :party and a popover shows the best matches; arrow to one and press Tab or Return to insert it. It ships with the full Unicode emoji set and the same gemoji aliases Slack, Discord, and GitHub use, ranks by recent use so your most-typed emoji climb to the top, handles skin tones, and works in Messages, Mail, Notes, Safari, Chrome, Notion, and most other apps. Forgot a name? Double-tap the trigger (:: by default) to open a large, searchable browser of the full set at your cursor. It is not a general text expander though: Comoji focuses on emoji, stickers, and GIFs, so it sits alongside Text Replacements or espanso rather than replacing them. If your muscle memory comes from chat apps, the Slack-style emoji shortcuts guide covers setup and how to change the trigger key.
Set it up in under a minute
Download the DMG, drag Comoji into your Applications folder (do this before granting permissions, macOS ties the grant to the appās location), and launch it. On first run it walks you through the two permissions any keyboard utility needs, both in System Settings āŗ Privacy & Security: Input Monitoring (to notice your colon tokens) and Accessibility (to read the text field and insert the emoji). It runs on macOS 13 Ventura or later, everything stays local, and password fields are ignored on purpose.
Which should you use?
For a handful of text snippets that sync to your iPhone, Appleās Text Replacements are free and already there. For advanced, scriptable expansion without a subscription, espanso is the strongest free option. And for the emoji you send all day, colon autocomplete with ranking and skin tones is the better habit, because there is nothing to maintain and the picker comes to you. Most people end up mixing them: a text expander for words, Comoji for :emoji:. For every built-in way to enter emoji on a Mac, see how to type emoji on a Mac.
Want the emoji part handled with zero setup? Download Comoji, grant the two permissions, and your next :fire: is one Tab away in any app.
Frequently asked questions
What is the best free text expander for Mac?
For simple snippets, Appleās built-in Text Replacements are free and sync to your iPhone over iCloud. For advanced, scriptable expansion, espanso is a free, open-source option that runs on macOS. For emoji specifically, Comoji adds Slack-style colon autocomplete so you do not have to define triggers by hand.
Is there a free alternative to TextExpander on a Mac?
Yes. TextExpander is a paid subscription, but Apple Text Replacements (built into macOS) and espanso (free and open source) both expand snippets at no cost. For emoji, Comoji provides colon autocomplete for the full emoji set without a subscription.
Can macOS Text Replacements expand emoji?
Yes. In System Settings āŗ Keyboard āŗ Text Replacements, add a trigger like :fire: in Replace and paste š„ in With. The catch is that you must add each emoji by hand and remember every trigger exactly, with no autocomplete, so it does not scale past a few favorites.
Do I still need a text expander if I use Comoji?
They do different jobs. Comoji handles emoji, stickers, and GIFs with colon and slash shortcuts, but it is not a general text expander, so it will not expand words or boilerplate. Keep Apple Text Replacements or espanso for text snippets and let Comoji handle the emoji.
Try Comoji
Slack- and Discord-style :emoji: autocomplete, everywhere on your Mac. Free.