WeChatDataAnalysis: Decrypting WeChat 4.x Databases and Building an Annual Summary
微信4.x数据解密并生成年度总结,高仿微信,实时更新,导出和修改聊天记录,朋友圈,收藏,自动回复等大量便捷功能
At a glance
- What is it?
- A Python and Vue desktop tool that reads local WeChat 4.x SQLite databases, renders them in a WeChat-like interface, and exports chats, Moments and contacts. The read-only edition is open source; the 61 write and automation features live in a paid edition you obtain through a QQ group.
- Who is it for?
- Adopt WeChatDataAnalysis if you want to read your own WeChat 4.x history on a desktop, produce an annual summary, or archive conversations into HTML, JSON, TXT or Excel. Do not adopt it if you need to send messages, edit history, or run scheduled group broadcasts: those 61 write and automation features belong to the paid edition, and the public repository only contains descriptions and demo animations for them.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 1 day 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 September 23, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What WeChatDataAnalysis reads that the WeChat client will not show you
WeChat stores its local history in SQLite databases, and the client gives you no supported way to pull a conversation out as a file, search across every chat at once, or look at a message you already deleted. WeChatDataAnalysis targets that gap. The README describes the regular edition as covering decryption, reading, export and annual summary, all read-only. The advanced edition adds 61 write, action and automation features, and the README is explicit that the public version only shows feature descriptions and demo animations, not the implementation, and that using it requires an advanced build matched to your WeChat version. So the open repository is an archive and reading tool, not a client replacement. It is aimed at people who want their own data back on a desktop: an annual summary of a year of chats, an export of Moments before they disappear, a searchable copy of a group conversation. The interface previews show a chat page that deliberately mimics WeChat, a search page, an export dialog and a contact export. The audience is people who are comfortable installing a desktop application and, on macOS, granting accessibility permission.
How the decryption pipeline is put together
The repository layout separates the moving parts. key_v4.py and macos-key-extractor/ handle key material, scan.py and analyze_wechat_databases.py work over the databases, src/ holds the application, frontend/ is the Vue interface, desktop/ is the packaged shell, and tests/ and test_databases.py exercise the data layer. The Python dependencies in pyproject.toml tell you what the backend does with that data: cryptography for the decryption itself, pycryptodome alongside it, zstandard for compressed columns, jieba and pypinyin for Chinese text handling and search, pilk for WeChat's audio format, and fastapi plus uvicorn for the local API the frontend talks to. On Windows the dependency list pulls in wx_key, pefile, pymem and yara-python, which points at a memory-scanning key extraction path specific to that platform; macOS gets its own extractor directory instead. The README notes that the image key scan may require accessibility permission for the terminal or the application, which fits a process that reads another running program. The newer dependencies (langchain-core, langgraph, sqlite-vec, onnxruntime, deepagents) suggest a local retrieval and model layer over the decrypted messages, though the README does not document what those features do in the shipped interface.
Installing WeChatDataAnalysis and running a first export
The README recommends the desktop installer over a source build. Download the latest release from the releases page, then on Windows take Setup.exe, and on macOS 15+ Apple Silicon take the .dmg or mac.zip. The README warns that the first macOS launch may be blocked by the source restriction, and that you confirm the app under System Settings, Privacy and Security. After installation you start the application named WeChatDataAnalysis.
Developers who want the source tree clone it and install the backend dependencies. The README prefers uv, and the command is run from the repository root.
git clone https://github.com/LifeArchiveProject/WeChatDataAnalysis.git
cd WeChatDataAnalysisuv sync --no-editableThe README then refers to installing the WCDB isolated runtime, but the section is cut off in the text available here, so treat that step as documented elsewhere rather than described in the quick start. Python 3.11 or newer is required by the project metadata.
Once the app is running, the workflow shown in the interface previews is: open a conversation, use the search page to find messages, and use the export dialog to write them out. The README's export table lists HTML, JSON, TXT and Excel (ZIP) for chat history, with scope options for the current conversation, a custom set, all conversations, group chats or one-to-one chats, plus filters by message type and time. Excel output produces .xlsx, and chat history, Moments and favourites are packaged as ZIP together with the necessary assets. The annual summary is a separate generated view, not an export format.
The advanced edition is not in this repository
The most important limitation is a licensing and distribution one. The README states plainly that the public version only shows feature descriptions and demo animations and does not include the execution code for advanced features, and that actual use requires an advanced build matched to your WeChat version. You obtain it by joining QQ group 1109365501 and messaging the group owner. That is not a self-service download, and it means the 61 write and automation capabilities (editing messages, inserting records, sending messages, Moments interaction, group management, scheduled broadcasts) cannot be evaluated from the source tree at all. The README also says 27 of those features write directly to your local WeChat and can sync to your phone, with one-click restore. That is a serious capability with a serious blast radius, and it is precisely the part you cannot inspect here. Second limitation: platform coverage. The installer path names Windows and macOS 15+ Apple Silicon, and the Windows-only dependencies have no macOS equivalent, so Linux desktop users are not addressed by the install instructions. Third: the repository does not state a licence. pyproject.toml declares the package wechat-decrypt-tool at version 2.6.0 with no licence field, and there is a THIRD_PARTY_NOTICES.md but no top-level LICENSE file in the entry list. Until that is resolved, you do not have clear terms for redistribution or for building on the code.
WeChatDataAnalysis compared with Wechat-dump and MemoTrace
The related searches around this project cluster on other WeChat extraction tools, and the differences matter. Wechat-dump is a command-line oriented dumper: it produces files and leaves rendering to you. WeChatDataAnalysis ships a Vue frontend that renders conversations with WeChat-like bubbles, a search page, a Moments view and an export dialog, so the output is a browsable archive rather than a directory of decrypted SQLite. MemoTrace is the closest in ambition, and the README itself points QQ users at H3CoF6/WeQ, noting that WeQ's author is also a member of this project, so the two efforts are related rather than rivals. The distinguishing choice here is the split between a free read-only edition and a paid write edition, plus the annual summary generator, which none of the alternatives in the search list advertise. If you only need raw decrypted tables to query yourself, a CLI dumper is less machinery. If you want to hand someone a browsable HTML archive of a conversation, the export table here is the reason to pick this project.
Maintenance, release cadence and upgrade cost
The repository is not archived, and the last push was on 2026-09-23, one day before this was written, so the project is being worked on now. Releases are frequent: v2.6.0 on 2026-09-18, v2.5.1 on 2026-09-14, v2.5.0 on 2026-09-09. That cadence has a cost. The README ties the advanced edition to a matched WeChat version, and a tool that reads another application's encrypted storage will break when that application changes its format, so expect to re-download rather than to pin a version and forget it. The settings panel shown in the previews includes an update entry, which suggests in-app updating, though the README does not document a rollback path if a new build fails against your WeChat version. On dependencies, the pinned versions (onnxruntime 1.28.0 off macOS and 1.23.2 on macOS, tokenizers 0.23.1, sqlite-vec 0.1.9) mean a source build is reproducible but also that upgrading one piece in isolation is unlikely to be supported. Licence implications: with no licence declared in the repository, the default is that you have no granted rights beyond what the hosting platform's terms and any third-party notices give you; if you intend to redistribute the tool or ship it inside a company, clarify that with the maintainers first. This is a description of the repository state, not legal advice.
Editorial conclusion
Adopt WeChatDataAnalysis if you want to read your own WeChat 4.x history on a desktop, produce an annual summary, or archive conversations into HTML, JSON, TXT or Excel. Do not adopt it if you need to send messages, edit history, or run scheduled group broadcasts: those 61 write and automation features belong to the paid edition, and the public repository only contains descriptions and demo animations for them. Before installing, verify three things: that your WeChat is a 4.x build the decryption path supports, that you are on Windows or macOS 15+ Apple Silicon, and that the repository states a licence you can accept, because the pyproject metadata names the package wechat-decrypt-tool with no licence classifier.
Frequently asked questions
What is the main purpose of WeChatDataAnalysis?
The README describes the regular edition as covering decryption, reading, export and annual summary of WeChat 4.x data, all read-only. The advanced edition adds 61 write, action and automation features that the public repository only documents with descriptions and demo animations.
Can WeChat see everything on your phone, and does WeChatDataAnalysis change that?
The README does not address what WeChat itself collects. WeChatDataAnalysis works on the local databases already on your machine, decrypting them and rendering them in a desktop interface; it does not describe any server-side access.
Is WeChat safe for US users, and does WeChatDataAnalysis help?
The README makes no claim about WeChat's safety for any region. The project only describes reading and exporting your own local WeChat 4.x data, with the advanced write features distributed separately through a QQ group.
Will the other person know if I clear their chat history on WeChat?
The README does not document any behaviour for clearing chat history in the WeChat client. The advanced edition does list editing messages, deleting system messages and marking conversations as read, and states that 27 features write back to your local WeChat and can sync to your phone with one-click restore.
Community notes