· 4 min read

How to export and back up your Mac text replacements

Export your Mac text replacements to a file in a few seconds, get them out as a CSV, and avoid the known import bug that can empty your list on a new Mac.

The short answer

Open System Settings > Keyboard > Text Replacements, select all your entries with Edit > Select All, and drag them to the desktop. macOS creates a file called property list.plist. Copy it somewhere outside iCloud. To restore, drag the file back into the same window. Large imports can fail or empty the list, so import in smaller batches.

Why back them up at all

iCloud keeps text replacements in sync between your devices, but syncing isn't a backup. If entries disappear on one device, the loss can spread to the rest. In March 2026 a Mac user on the Apple Community reported that thousands of entries vanished after a macOS update, and his iPhone and iPad lost them too. He only got them back by restoring a full clone of his drive. An exported file would have saved him most of that work.

Export your text replacements

These steps come from Apple's guide, Back up and share text replacements on Mac.

  1. Open System Settings and click Keyboard in the sidebar. You may need to scroll down.
  2. Click Text Replacements.
  3. Select the entries you want. To select them all, choose Edit > Select All.
  4. Drag the selected entries from the window to your desktop.

You'll get a file named property list.plist. Apple notes you can open and edit it in TextEdit, which is also the easiest way to read your list. Rename it with a date, such as text-replacements-2026-11-05.plist, and copy it to an external drive or a cloud folder that isn't iCloud.

If you're already in an app, there's a shortcut to the same window. Choose Edit > Substitutions > Show Substitutions, then click Text Settings.

Import them on another Mac

  1. On the Mac that should receive them, open System Settings > Keyboard > Text Replacements.
  2. Drag the .plist file into the Text Replacements window.
  3. Click Done.

The import bug to watch for

Apple's import works well for short lists and badly for long ones. In May 2026 Adam Engst tested it for TidBITS in "macOS Text Replacement Export/Import Works Great Until It Doesn't". What he found:

So before importing a big list, export what's already on the receiving Mac. Then split the big file into smaller files of around 100 entries each. The file is plain XML. Each entry is a <dict> block holding a phrase and a shortcut, and all of them sit inside one <array>. You can see the format in this public collection of text replacement files. To split a file, copy it, keep the header lines and the array tags, and delete the entries you don't want in that batch. Import the files one at a time and check the count after each one.

Get a CSV for a spreadsheet or another app

The .plist file is fine for macOS but awkward anywhere else. On recent macOS versions, the list is stored in a SQLite database at ~/Library/KeyboardServices/TextReplacements.db. I confirmed the path and table on macOS 26.6. This Terminal command reads it without changing anything and writes a CSV to your desktop:

sqlite3 -readonly -csv -header ~/Library/KeyboardServices/TextReplacements.db "SELECT ZSHORTCUT, ZPHRASE FROM ZTEXTREPLACEMENTENTRY WHERE ZWASDELETED = 0;" > ~/Desktop/text-replacements.csv

The ZWASDELETED = 0 part skips entries you've deleted, which can stay in the table. A public GitHub gist uses the same table to copy text replacements into Raycast snippets. Apple doesn't document this database, so treat the command as read-only and don't edit the file by hand.

Older guides point to ~/Library/Preferences/.GlobalPreferences.plist instead. TidBITS says that's where Apple stored the list in 2009. When Engst tried adding entries there, macOS silently deleted them as soon as he opened the Text Replacements window. Don't rely on that file.

Moving your list to a text expander

If you're backing up because you're switching to a third-party tool, here's how the import side looks today:

Engst's own conclusion after his import tests was that the most reliable option is a dedicated tool such as TextExpander, Typinator or TypeIt4Me, which keeps its own copy of your snippets.

Summary

  1. Export with Edit > Select All and drag to the desktop.
  2. Store the file somewhere other than iCloud.
  3. Import in batches of about 100, after backing up the receiving Mac.
  4. For a CSV, read TextReplacements.db with sqlite3 -readonly.