macOS Text Replacement does not work everywhere. TypeFire does.
The text replacement feature inside System Settings only works in native Mac apps. It silently does nothing in Chrome, VS Code, Slack, Discord, and most apps built with Electron. TypeFire is a free alternative that works in every app on your Mac.
Snippets, clips and notes. One app.
Everything you type, everything you copy, and the markdown vault you already have. Without switching apps once.
Where the built-in feature falls short
macOS Text Replacement is fine for short addresses or signatures, but the moment you try to use it daily, the limits show up quickly.
Does not work in Chrome
Chrome handles text input through its own rendering layer (Blink), not Cocoa. macOS Text Replacement is invisible inside it. Same goes for any Chromium-based browser, Edge, and Brave.
Does not work in Electron apps
VS Code, Slack, Discord, Notion, Figma, Linear, and most modern cross-platform apps are built on Electron. They render text through Chromium and ignore macOS Text Replacement entirely.
Plain text only
macOS Text Replacement supports basic string-to-string substitution. No rich text, no formatting, no Markdown. The replacement is exactly what you typed, nothing more.
No dynamic data
It cannot insert today's date, your current clipboard, your cursor position, or anything that changes. Every replacement is a fixed string.
No keyboard shortcuts
You can only trigger replacements by typing the abbreviation. There are no global hotkeys for pasting specific snippets and no search-based picker.
Hard to manage at scale
System Settings shows your replacements as a flat list with no folders, no tags, no search, and no bulk operations. Once you hit 30 to 40 entries it becomes unmanageable.
TypeFire vs macOS Text Replacement
An honest side-by-side. The built-in feature wins on iOS sync. TypeFire wins on everything else.
| Feature | TypeFire | macOS Text Replacement |
|---|---|---|
| Price | Free | Free |
| Works in Chrome | Yes | No |
| Works in VS Code, Slack, Discord | Yes | No |
| Works in native Mac apps | Yes | Yes |
| Rich text expansion | Yes | No |
| Markdown expansion | Yes | No |
| Dynamic tokens like {{date}}, {{clipboard}} | Yes | No |
| Global keyboard shortcuts | Yes, per snippet | No |
| Spotlight-style search launcher | Yes | No |
| AI tokens (Apple Intelligence, Claude, etc.) | Yes | No |
| Collections and folders | Nested collections | Flat list |
| Scripting (JavaScript, AppleScript) | Yes | No |
| iCloud sync across Macs | Yes | Yes |
| Sync to iPhone and iPad | No | Yes |
What TypeFire does that the built-in cannot
Eight features that the System Settings text replacement panel was never built for.
Works in every Mac app
Because TypeFire monitors keystrokes through macOS Accessibility, it works in Chrome, VS Code, Slack, Discord, Notion, Figma, Linear, and any other app that accepts text input. No exceptions.
Rich text and Markdown
Snippets can include bold, italics, lists, headings, images, code blocks, and full color formatting. Write in Markdown for clean source files, expand as formatted HTML.
Dynamic tokens
Insert {{date}}, {{time}}, {{datetime}} with custom formats, {{clipboard}} for the current clipboard, {{cursor}} to place the cursor after pasting, and {{snippet:abbr}} to nest one snippet inside another.
AI tokens
Drop {{ai:rewrite}}, {{ai:summarize}}, or {{ai:translate}} into a snippet. Apple Intelligence is free and on-device. Claude, OpenAI, and Gemini work with your own keys. Local Ollama is free and unlimited.
Spotlight-style launcher
Press Ctrl+Cmd+Shift+T to open a fuzzy search. Type a few letters of a snippet name and paste it instantly. Useful when you do not want to memorize an abbreviation.
Global keyboard shortcuts
Bind any snippet to a global hotkey like Cmd+Shift+E. Trigger it from any app without needing to type an abbreviation.
Scripting
Snippets can run JavaScript or AppleScript when triggered. Transform clipboard contents, control other apps, automate repetitive workflows, all from a single keystroke.
iCloud Sync
Sync your snippet library across Macs through your own iCloud Drive. Protected by your Apple account. No third-party server holds your snippet content.
Frequently asked questions
Common questions from people moving off the built-in macOS Text Replacement.
macOS Text Replacement is built on top of NSTextInputClient, an API used only by native Cocoa text fields. Apps that use their own text rendering layer (Chrome and any Electron app, VS Code, Slack, Discord, most cross-platform apps) do not call into NSTextInputClient, so the system text expansion silently does nothing. This is not a bug, it is the design boundary of the built-in feature. TypeFire bypasses this by monitoring keystrokes at the system level through Accessibility, which works in every app on macOS.
Yes. TypeFire is free forever and does everything macOS Text Replacement does, plus the things it cannot. It works in every Mac app (including Chrome, VS Code, Slack, and other Electron apps), supports rich text and Markdown, syncs through iCloud, runs AI on your selection, and includes a Spotlight-style launcher to search snippets by name.
Yes. Open System Settings, go to Keyboard, click Text Replacements, and you will see your existing entries. You can recreate them in TypeFire manually (most people have under twenty), or if you have many, export them as a property list and convert to CSV. TypeFire imports CSV files directly. The migration usually takes ten to fifteen minutes for a typical user.
TypeFire syncs across Macs through iCloud Drive. It does not currently sync to iPhone or iPad because TypeFire is a macOS app and Apple does not allow third-party text expansion on iOS. The built-in macOS Text Replacement syncs to iOS, which is the one advantage it has. If your primary need is mobile sync, the built-in is the answer for iOS specifically, but it cannot replace TypeFire on the Mac side.
Yes. The two systems do not conflict because they operate at different layers. You can use the built-in replacement for short, simple ones (especially if you want iOS sync) and TypeFire for everything else. Most users find they slowly migrate everything to TypeFire because the friction of two systems is annoying.
TypeFire needs the Accessibility permission to monitor keystrokes for abbreviation expansion. This permission is granted once during setup. No Input Monitoring, no Full Disk Access, and nothing else. Keystroke data is processed entirely on your device and never sent anywhere.
Your snippets are stored as plain Markdown files in a folder you choose during setup. If you stop using TypeFire, the files remain readable by any text editor. There is no proprietary database to extract from and no vendor lock-in.
Also available as a Chrome extension
TypeFire also runs as a free Chrome extension that works in every web app on every site. Use it alongside the Mac app for full coverage, or as the only TypeFire surface if you live in your browser.
A text replacement tool that works everywhere
Get the same convenience the built-in feature was supposed to give you, in every app, with the features Apple left out.
Free forever · macOS 12+ · Apple Silicon native