Open-source project
blackboxo/CleanMyWechat avatar
blackboxo/CleanMyWechat

CleanMyWechat: a desktop cleaner for the files WeChat downloads without asking

自动删除 Windows 和 Mac 电脑端微信缓存数据,包括从所有聊天中自动下载的大量文件、视频、图片等数据内容,解放你的空间。

5,527 stars410 forksPythonMIT

At a glance

What is it?
CleanMyWechat is a Python and PyQt5 desktop tool that deletes cached files, images and videos from WeChat and WeCom on Windows and macOS. It leaves text chat history alone, and it is the kind of utility you adopt only after understanding what it does not do.
Who is it for?
Adopt CleanMyWechat if a Windows or macOS machine has a WeChat or WeCom data directory that has grown past what you can manage by hand, and if you are comfortable running a third-party executable against that directory. Do not adopt it if you need to audit or export message content, or if you expect it to reclaim space by deleting text history: the README states plainly that it does not touch chat records.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 36 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 2, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem is silent accumulation, not one big download

WeChat on desktop downloads files, images and videos from every group and conversation into a local data directory, and nothing in the client prompts you to review that directory later. The README makes the scale concrete: after roughly two years of use, the author reports WeChat occupying 33.5 GB on one machine, most of it files from group chats that the user never opened. The tool exists for that specific situation: a laptop or desktop where the WeChat data directory has grown into tens of gigabytes and no built-in cleanup path exists.

The audience is narrow and practical. It is a single-user desktop utility, not a server-side or enterprise deployment tool. The README notes support for all WeChat versions on Windows and macOS, including WeChat 4.0 and above, and WeCom (企业微信). If you only use WeChat on a phone, this does nothing for you. If you run WeChat on a work machine under a corporate policy that restricts third-party software, that policy is the deciding factor, not the tool.

What CleanMyWechat actually deletes, and what it leaves behind

The README states the tool does not delete text chat history. That single sentence is the most important design boundary in the project, and it is also the part a new user should verify first. The deletion scope is file types: documents, images and videos that the desktop client downloaded automatically. The UI exposes those categories as selectable filters, so you can choose to remove images and videos while keeping files, or the reverse.

The second filter is age. The default is 365 days, meaning content older than a year is the default target set. That default matters because it is conservative: a user who clicks through without reading the settings will still keep the last twelve months of received media. The README also describes a recycle-bin step: deleted items go to the recycle bin rather than being unlinked outright, so a mistaken run can be inspected and reversed before the bin is emptied. That is a deliberate trade-off. It costs disk space until you empty the bin, but it converts a destructive operation into a reviewable one.

Recognition is automatic. The README says the tool identifies all WeChat and WeCom accounts on the machine, which implies it scans for account directories rather than asking you to paste a path. The repository layout is consistent with a small desktop application: main.py at the top level, a utils/ package, a tests/ directory, an entitlements.plist for macOS signing, and a PyInstaller spec file named Clean My WeChat.spec.

Installing CleanMyWechat from the release builds

The README does not describe a pip install or a source build for end users. It points to prebuilt downloads: a Windows zip from the GitHub releases or a mirror, and a macOS dmg. The macOS release named in the README is CleanMyWechat_v3.1_mac.dmg, and the Windows release link points at a v2.1 zip. If you want to run from source instead, the dependency file is the starting point.

bash
pip install -r requirements.txt
python main.py

The requirements file pins three runtime dependencies with upper bounds: Send2Trash (>=1.8.3,<2), PyQt5 (>=5.15.10,<5.16) and python-dateutil (>=2.9.0.post0,<3). PyInstaller appears as a build-time dependency with version ranges selected by Python version, including a separate line for Python 3.13 and above. Send2Trash is the mechanism behind the recycle-bin behaviour described in the README; PyQt5 is the UI layer.

For a first run, the practical sequence is: launch the app, let it enumerate the WeChat and WeCom accounts it finds, then open the file-type and age settings before triggering anything. The README's default of 365 days is where a cautious first pass should stay. After the run completes, open the system recycle bin and confirm the deleted items are the ones you expected. Only then empty it. The README frames this as the intended workflow: files land in the bin so you can check before clearing.

Scheduled cleanup and the cost of trusting the schedule

The v3.0 release notes list periodic automatic cleanup as a feature, alongside support for WeChat 4.0, WeCom and a new UI. A recurring job changes the risk profile. A one-off run is something you watch; a scheduled run is something you forget. If a future WeChat update changes where media is stored, or if the account-detection logic picks up a directory you did not intend, an automated job will act on that without asking.

The README does not document how the schedule is stored, whether it survives a reboot, or how to cancel it. That silence is worth taking seriously before enabling it. The safe pattern is to run the tool manually for a few cycles until you trust its account detection and its file-type filters on your machine, and only then turn on the recurring job. Nothing in the documentation suggests the schedule is sandboxed or reversible beyond the recycle bin.

Where CleanMyWechat is the wrong tool

CleanMyWechat is a deletion utility, not a data management tool. If your goal is to keep WeChat media but move it off the system drive, or to index and search it, this project does not do that. It removes files. There is no documented export, no archive-before-delete step, and no content inspection. The recycle bin is a safety net, not an archive.

The second mismatch is message history. Users who want to back up or migrate chat records need a different category of tool entirely. The related searches around this project point at exactly that adjacent space: WechatBakTool and Chatlog are names people search for alongside this repository, and both belong to the backup and extraction side of the problem rather than the cleanup side. If your question is "where did that file from a year ago go", CleanMyWechat is the thing that made it go away.

The third mismatch is platform and packaging. The README's download links are Windows and macOS desktop builds. There is no documented Linux path and no server or headless mode. The macOS build ships with an entitlements.plist in the repository, which is consistent with a signed and sandboxed app bundle; the v3.1_mac release note mentions fixes for crash logs and data access permissions, which tells you that macOS filesystem permissions have been a real friction point in this project's history.

How it compares with a general disk cleaner

A general-purpose cleaner such as a system disk utility removes caches it recognizes generically: browser caches, temp directories, package manager caches. Those tools do not know which files inside a WeChat data directory are auto-downloaded group media and which are something you deliberately saved. CleanMyWechat's difference is that it targets one application's data layout, with per-account recognition, per-file-type filters and an age threshold expressed in days.

The trade-off runs the other way too. A general cleaner is maintained against the whole operating system and rarely breaks because one chat application changed its directory structure. CleanMyWechat's usefulness is tied to WeChat's on-disk layout, and the project has already shipped multiple version-specific releases, including one for WeChat 4.0 support. That is a maintenance dependency you accept when you install it.

Licence, maintenance and what the repository tells you

The project is MIT licensed, which permits commercial and private use, modification and redistribution provided the copyright notice and permission notice are included. That is permissive and imposes no copyleft obligation on your own code. It says nothing about the data you delete, and it is not legal advice about your employer's policy on running third-party tools against corporate chat data.

The repository is not archived, and the last push was on 2026-08-28. Recent releases include v3.0 for WeChat 4.0 and WeCom support, v3.0_mac, and v3.1_mac in July 2026, so the project has been shipping updates through the middle of 2026. The upgrade cost is low in the ordinary case: replace the executable or the dmg. The real cost is the re-verification each time WeChat changes its storage layout, because a cleaner that misidentifies a directory is worse than no cleaner at all. The repository includes a tests/ directory, but the README does not describe what those tests cover.

Editorial conclusion

Adopt CleanMyWechat if a Windows or macOS machine has a WeChat or WeCom data directory that has grown past what you can manage by hand, and if you are comfortable running a third-party executable against that directory. Do not adopt it if you need to audit or export message content, or if you expect it to reclaim space by deleting text history: the README states plainly that it does not touch chat records. Before running it, open the file-type and age settings in the UI and confirm they match what you intend to delete, and check the recycle bin after the first run rather than emptying it immediately.

Frequently asked questions

What happens if I clear my WeChat cache with CleanMyWechat?

The tool deletes downloaded files, images and videos according to the file types and age range you select, with a default age of 365 days. The README states that text chat history is not deleted. Deleted items go to the recycle bin first so you can check them before emptying it.

How do I clear the memory and cache in WeChat on a PC?

CleanMyWechat provides a desktop UI for this on Windows and macOS. You install the release build or run main.py from source, let the tool recognize the WeChat and WeCom accounts on the machine, then set the file types and the age threshold before starting a cleanup.

Why is WeChat taking up so much storage?

The README attributes it to files, videos and images that the desktop client downloads automatically from group chats and conversations, including content the user never opened. It cites one machine where WeChat occupied 33.5 GB after about two years.

Where is WeChat storage on my computer?

The README does not give a path. It says the tool automatically recognizes all WeChat and WeCom accounts, which means it locates the data directories itself rather than asking you to enter one.

Official sources

  1. blackboxo/CleanMyWechat on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/blackboxo-cleanmywechat.svg)](https://hysenlabs.com/projects/blackboxo-cleanmywechat)