Move WeChat Chat History to an External Drive on Mac: Free Up Tens of GB, No Data Loss
Published October 15, 2026 · Updated October 15, 2026
A 256GB MacBook, and a WeChat That Never Stops Growing
It usually starts like this: you decided "256GB is plenty, I'll put the savings into RAM", and two years later the startup disk is flashing red. Photo library, developer tools, and the most steadily growing tenant of all: WeChat. Every contract, design file, video and installer received in chats sits untouched on the internal disk. Twenty-something GB is just the starting point, growing by one or two GB per month.
WeChat's built-in "clean cache" helps little: the real space hog is not cache but the message files belonging to chat history itself. Chat history cannot be recovered once deleted, so deleting chats is not a cleanup option. So you bought an external drive, and the question becomes: can WeChat chat history be moved wholesale onto it, with WeChat working exactly as before? Yes, and once done, the internal disk gets tens of GB back in one stroke. This article is a complete record of a real migration, spelling out for every step: what to do, why, and how to back out if something goes wrong.
One confusion worth clearing up first: WeChat's built-in "Chat History Migration & Backup" syncs and backs up chats between your phone and your computer, and has nothing to do with this guide. What follows changes where WeChat stores its data on the Mac, from the internal disk to an external drive, while WeChat keeps running on the same computer as usual.
Step 1: Find Where WeChat Actually Stores Its Data
Before moving anything, confirm what you are moving. WeChat for Mac keeps chat data inside a sandboxed container, not in the visible Documents folder: in Finder, press Shift+Command+G, paste "~/Library/Containers/com.tencent.xinWeChat/Data/Documents" and hit return. You will see a folder named "xwechat_files": inside the account-named subdirectory, db_storage holds the chat databases and msg holds message attachments (images, videos, files). That is the directory consuming tens of GB.
Watch for a version difference: since WeChat 4.x, the data folder may live at "Documents/xwechat_files" or at "Documents/app_data/xwechat_files", depending on version and upgrade path. Check both locations before migrating and confirm where the bulk actually resides. If both hold large data, handle both. Handling only one is exactly why so many tutorials report the data "growing back" after the move.
Step 2: Pick the Correct Format for the External Drive (This Step Decides Success or Failure)
An external drive is not plug-and-play for this job. WeChat data migration imposes three hard requirements on the file system: support for Unix permissions and symbolic links, journaling for safety, and, critically, macOS must be able to write to it. The rundown:
- APFS (or Mac OS Extended): the best choice. Native symlink and permission support, journaled, with strong self-healing for databases after power loss. Erase a fresh drive as APFS in Disk Utility;
- NTFS: the common factory format on Windows-oriented drives. macOS can only read it, never write, so it fails as a migration target out of the box. You need an NTFS read-write driver first, for example DiskBee (built on Apple's FSKit user-space framework, so installing it leaves the system security policy untouched and needs no kernel extension or restart). With that in place, an NTFS drive works fine as the migration destination;
- exFAT / FAT32: not recommended. Neither supports symbolic links or hard links, neither is journaled, and WeChat's databases carry a significantly higher corruption risk after an unexpected power cut, so it is unfit for storing chat history.
Format Recommendation
Empty drive or movable data: erase it as APFS in Disk Utility. NTFS drive whose data you want to keep: install an FSKit-based NTFS read-write tool (like DiskBee) and migrate as-is. exFAT drive: change the format before migrating.
Step 3: Copy the Data to the External Drive in Full (Copy First, Never Move)
Core principle: before the switchover, old and new copies of the data must coexist. Quit WeChat completely (menu bar icon → Quit WeChat, or confirm the process has ended in Activity Monitor). Then create the destination folder on the external drive (for example "AppCache/WeChat/xwechat_files").
Note on Finder semantics: this step needs Copy (⌘C) followed by Paste (⌘V), which writes the data to the new location. Do not use Finder's "Duplicate" (⌘D): it creates a copy next to the original on the internal disk, wasting space without accomplishing the migration. Use either of these two methods:
- Method one (drag and drop): drag the "xwechat_files" folder from its original location into the destination folder window on the external drive. Dragging across disks defaults to copying, not moving, so the original data is neither moved nor deleted;
- Method two (keyboard): select "xwechat_files", press ⌘C (Copy), switch to the destination folder on the external drive, press ⌘V (Paste).
Verification After the Copy, and a Backup Safety Net
Large datasets take a while to copy. Verify afterwards by selecting each folder and pressing ⌘I (Get Info), then comparing sizes: the copy on the external drive should match the original (single-digit MB differences at tens-of-GB scale are normal metadata overhead). Until verification passes, make no changes to the original folder on the internal disk; this is the single most important safeguard in the whole migration.
If you keep Time Machine or any other whole-machine backup, let it complete a full pass before you start, as a third safety net on top of the two coexisting copies.
Step 4: Rename the Original Folder and Create a Symbolic Link in Its Place
WeChat's data path is hard-coded and cannot be changed in its settings (WeChat 4.0 removed the custom storage location option). The fix at the OS level is a symbolic link (symlink): rename the original folder to keep as a backup, then create a same-named link at the old location pointing to the external drive. Afterwards, whenever WeChat reads or writes the old path, the system transparently redirects the access to the external drive, with WeChat itself noticing nothing.
How to run Terminal commands: run them one line at a time: select an entire line with the mouse (scroll horizontally to the end of long lines to make sure the selection is complete), press ⌘C to copy, switch to the Terminal window, press ⌘V to paste, then press Return; wait until the prompt reappears with no error message before running the next line. In the commands below, replace "YourDrive" with your drive's actual name (visible in the Finder sidebar or on the desktop), keeping the surrounding quotes.
Open Terminal: Applications → Utilities → Terminal. Pick the command group matching the data location confirmed in Step 1; if both locations hold large data, run all four commands:
- Location A (Documents/xwechat_files). Command 1, rename the original folder to a backup: mv ~/Library/Containers/com.tencent.xinWeChat/Data/Documents/xwechat_files ~/Library/Containers/com.tencent.xinWeChat/Data/Documents/xwechat_files-backup
- Command 2, create the symbolic link: ln -s "/Volumes/YourDrive/AppCache/WeChat/xwechat_files" ~/Library/Containers/com.tencent.xinWeChat/Data/Documents/xwechat_files
- Location B (Documents/app_data/xwechat_files). Command 3, rename the original folder to a backup: mv ~/Library/Containers/com.tencent.xinWeChat/Data/Documents/app_data/xwechat_files ~/Library/Containers/com.tencent.xinWeChat/Data/Documents/app_data/xwechat_files-backup
- Command 4, create the symbolic link: ln -s "/Volumes/YourDrive/AppCache/WeChat/xwechat_files" ~/Library/Containers/com.tencent.xinWeChat/Data/Documents/app_data/xwechat_files
Step 5: Re-sign WeChat
With the links in place, do not launch WeChat yet: its sandbox refuses to write to external volumes by default, so a direct launch would fail to write. macOS constrains app behavior through code signing, and WeChat's official signature does not include permission to write sandbox data to an external volume. The solution validated by community practice (tested across multiple independent tutorials) is a one-time ad-hoc re-signature.
Run this command in Terminal. Copy the entire single line, paste, press Return. It asks for your login password, and nothing appears on screen while typing, which is normal. The run takes about 1–2 minutes, and no error output means success:
- sudo codesign --sign - --force --deep /Applications/WeChat.app
Two Side Effects of Re-signing, and a Risk You Must Know
Side effect one: the signature change invalidates macOS privacy grants (Screen Recording, Microphone), showing up as broken WeChat screenshots and voice calls. Fix: open System Settings → Privacy & Security → Screen Recording and Microphone, toggle WeChat off and back on (if WeChat is missing from the list, add it with "+" and pick /Applications/WeChat.app); then fully quit and relaunch WeChat. Side effect two: future WeChat auto-updates restore the official signature, and the command must be run again (see Long-Term Maintenance below).
Risk disclosure: re-signing is an unofficial modification of the WeChat client and may conflict with WeChat's terms of service, so understand the risk and decide for yourself. That is why this method has circulated in the community for years without official endorsement.
Step 6: Launch and Verify Item by Item (Delete Nothing Until Everything Checks Out)
Open WeChat and log in normally, then verify each of the following:
- Are chats from the last few days complete (focus on messages around migration day)?
- Open a sampling of older images, videos and files and confirm they load; this validates msg, the biggest folder;
- Send and receive a message and a file, confirming new data lands on the external drive;
- Run a WeChat screenshot and a voice call to confirm the permission restore worked.
After Verification: Delete the Backup to Free the Space
After everything passes, keep using WeChat normally for a day or two before the final step: once stable, delete the "xwechat_files-backup" folder on the internal disk, and the space is freed only at this point. In the real migration recorded here, this step freed 31GB, bringing the internal disk's free space to 77GB. Stale snapshots left on the external drive before the copy can be cleaned up after verification too.
Long-Term Maintenance: What to Do After WeChat Auto-Updates
The only ongoing cost of this setup is WeChat's auto-updater: every update restores the official signature, and external-volume writes stop working. The signals are clear: WeChat won't open after an update, complains about storage, or a fresh "xwechat_files" reappears at the old internal-disk path. Remediation steps:
- Quit WeChat and re-run the Step 5 signing command;
- If WeChat already wrote new data onto the internal disk: quit WeChat, copy the contents of the new internal-disk folder back to the external drive (choose "Skip" for same-name files, never "Replace"), rename the internal-disk folder aside, confirm the Step 4 symbolic links are still in place, re-sign, then launch WeChat;
- After re-signing, re-check Screen Recording and Microphone permissions.
WeChat Won't Open After a Reboot? Troubleshoot in This Order
Startup trouble can occur without any WeChat update, and it is most frequent right after rebooting the Mac (this guide's field testing hit it too). Troubleshoot in this order:
- Scenario one: WeChat is set to launch at login and starts before the external drive finishes mounting, so at login the data directory is not ready, and WeChat cannot access it. Fix: confirm the drive appears on the desktop or in the Finder sidebar, then open WeChat manually; consider disabling WeChat's "launch at login" and adopting the habit of confirming the drive is mounted before opening WeChat;
- Scenario two: a slow cold start mistaken for a failure. The first launch after a reboot loads the index of a tens-of-GB directory from the external drive; wait one to two minutes and try again. If it still won't open after several tries, re-run the Step 5 signing command to rule out a signature problem, then relaunch WeChat;
- Precaution: do not force-launch WeChat repeatedly while the external drive is unmounted. Several starts with a missing data directory can trigger WeChat to recreate the folder on the internal disk, routing data back to the old path. Correct order: mount the drive first, then open WeChat.
Automating Maintenance: A Script That Watches the Signature
To reduce manual checking, you can write a small script that runs once a day: it checks WeChat's signature state and sends a system notification when the official signature returns, prompting a timely re-sign so data never flows back to the internal disk unnoticed.
FAQ
- Is this safe? Will I lose chat history? The entire flow follows copy-first, switch-second, delete-backups-only-after-verification. If any step fails, the original data is still intact on the internal disk, fully reversible until you delete the backup;
- Does WeChat work when the external drive is unplugged? No. The data directory lives on the external drive, and WeChat cannot access it while the drive is offline. Fine for always-connected setups; frequent unpluggers should weigh this;
- Does WeChat officially support custom storage locations? WeChat 4.0 on both Windows and Mac removed that setting; this is a community workaround, not an official feature;
- How do I move back to the internal disk? Delete the symbolic links, copy the data from the external drive back to the original paths, and reinstall WeChat once (restoring the official signature); the whole process is reversible.
Wrapping Up
In a small-SSD MacBook's space crunch, WeChat is usually the single most rewarding item to relocate: its data is self-contained, the largest, and needs almost no random high-speed I/O, a natural fit for an external drive. The full route in one sentence: pick an APFS drive or one with an NTFS read-write driver installed, copy and verify first, create symbolic links in both locations, re-sign and restore permissions, then delete backups only after stable use. Follow the steps and tens of GB come back with chat history fully intact.
Read and write NTFS drives on your Mac
Download DiskBee for free — plug in an NTFS drive and read/write instantly. No restart, no kernel extension, no data loss.
Free Download