微信聊天记录导出避坑全指南:WeChatExporter 一键把多年记录完整备份到本地
【免费下载链接】WeChatExporter一个可以快速导出、查看你的微信聊天记录的工具项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter
你有没有算过,自己手机里到底存了多少条微信消息?也许是几万条,也许是几十万条。可微信始终没有开放官方导出功能——手机一丢、屏幕一碎、系统一崩,这些对话就再也找不回来。今天要说的 WeChatExporter,是一个免费开源的微信聊天记录导出工具,不需要越狱,就能把文字、语音、图片、视频整整齐齐归档到电脑上,导出的记录以本地网页形式呈现,断网也能随时翻阅。下面这份开源备份工具上手指南,从数据提取到环境搭建再到一键导出,每一步都给到可复现的操作,并附上一份完整的翻车自救手册。
动手之前:它到底适不适合你
一句话结论:这是一款免费、开源、可扩展的本地归档工具,适合愿意花半小时把聊天记录变成自己资产的普通用户。
| 维度 | 说明 |
|---|---|
| 核心能力 | 解析 iPhone 备份中的微信数据,导出文字、图片、语音、视频等 |
| 运行平台 | 官方适配 macOS;Windows 与安卓"能用但没适配",需要自行折腾 |
| 数据来源 | 仅支持 iOS;安卓机可先把记录迁移到 iPad 再导出 |
| 交付形态 | 本地 HTML 页面,离线可看,语音自动转 mp3 |
| 已知短板 | 部分消息类型仅占位显示,不展开正文 |
在继续之前,有两句丑话先说在前面:其一,工具本身不碰手机,它只读取你电脑上已有的微信数据文件,所以第一步永远是"把数据导出来";其二,占位显示类型(如分享链接、位置)确实看不到正文,这是作者在官方文档里也坦承的不完善之处,不影响文字、图片、语音、视频这几类核心价值。
阶段一:原料准备——把聊天数据完整接回本地
整个流程的第一环不是装软件,而是先拿到"原材料"。请把它想象成一条流水线的起点:数据从 iPhone 出发,途经电脑,最后进入工具。
第 1 步:做一次不加密的 iTunes 整机备份
用数据线连上 iPhone 和 Mac,打开 iTunes,点"立即备份"。这里有一条必须守住的红线:千万不要勾选"加密本地备份"。一旦加密,工具就再也读不出里面的数据文件,这是新手翻车率最高的一步,请务必留意。
第 2 步:用 iMazing 单独抽出微信的 Documents 文件夹
整机备份太大,WeChatExporter 只需要微信那一小块。用 iMazing 这类第三方管理工具进入备份,定位微信应用,把它的 Documents 文件夹整体导出到电脑上。存放位置随意,记住路径即可。

第 3 步:认识一下手里的"原材料"
导出完成后,你会看到 Documents 目录里躺着几个以 32 位 MD5 命名的子文件夹——它们分别对应这台手机上登录过的不同微信账号。进入任意一个账号目录,能看到 DB、Audio、Img、Video 等子目录,分别装数据库和各类媒体文件。其中DB/MM.sqlite是聊天记录的核心数据库,也是整个工具重点解析的对象。
阶段二:环境部署——装齐两件套,绕开编译深坑
WeChatExporter 基于 Node.js 开发,跑在 NW.js(node-webkit)桌面容器里,两样都得装。版本号不是随便填的,它们与预编译的 SQLite 模块严格对应:
| 组件 | 作用 | 推荐版本 |
|---|---|---|
| Node.js | 运行项目与管理依赖 | 8.11.3 或 10.16.3 |
| NW.js | 桌面应用运行环境 | 0.32.1 或 0.40.1 |
拉取项目并安装依赖
git clone https://gitcode.com/gh_mirrors/wec/WeChatExporter cd WeChatExporter/development npm install跳过编译地狱:直接用现成的预编译模块
项目里的 SQLite3 需要针对 NW.js 重新编译,这个过程相当折磨人——要装 Xcode、配 node-gyp、还要指定 Python 2.7 的路径,一不留神就卡住。好消息是,仓库的development/framework/目录下已经备好了编译完成的node_sqlite3.node文件,两个版本任选其一:
node-webkit-v0.32.1-darwin-x64:对应 nodejs 8.11.3 + nwjs 0.32.1node-webkit-v0.40.1-darwin-x64:对应 nodejs 10.16.3 + nwjs 0.40.1
把对应版本的文件夹整体拷到node_modules/sqlite3/lib/binding/目录下,一步到位,完全绕开编译环节。
启动工具
npm start也可以手动指定 NW.js 的可执行文件:
/path/to/nw/nwjs.app/Contents/MacOS/nwjs .看到界面弹出来的那一刻,环境这关就算通关了。💡
阶段三:三步跑通导出,拿到可翻阅的本地页面
工具主流程分两段:先"解析并导出数据",再"直接查看聊天内容"。按下面的顺序操作,一次就能跑通。
第 1 步:选账号、挑联系人
进入界面后点击"开始原始数据分析",选择之前导出的 Documents 文件夹。左上角会列出这台手机上登录过的所有微信账号(以 MD5 命名),点选任意一个,左下角立即出现与之聊过天的联系人列表。默认只显示消息量较大的对话,冷门聊天会被自动隐藏,界面更清爽。

第 2 步:确认目标、配置导出参数
点击左下角任意联系人,右侧会实时预览最近 10 条记录,帮你确认"没选错人"。确认无误后,右上角会出现红色提示条,点进去进入导出设置页,需要填两项:
- 数据导出目录:导出的文件放在哪里
- 日期区间:只导出某段时间的聊天;留空则导出全部
点击"开始生成数据"后,程序会逐条处理消息:图片原图与缩略图分开归档、语音调用 silk 解码器转成 mp3、视频与缩略图一并搬运。处理完成,指定目录下会生成一个完整的 output 文件夹。到这一步,最初的 Documents 目录就已经没用了,可以删掉释放空间。
第 3 步:回到主页,翻阅你的聊天记录
回到工具主页,选择"显示聊天记录",填入刚才的 output 目录,一份完整的聊天记录立刻呈现在眼前:文字、语音(带播放条)、图片、视频一应俱全,界面模拟真实聊天窗口,点击图片还能放大查看。之后再想回看,直接进"显示聊天记录"页面即可,无需重新解析。

能力一览:它能帮你保住哪些数据
| 消息类别 | 导出表现 |
|---|---|
| 文字 | 完整保留,可正常显示 QQ 表情 |
| 图片 | 原图 + 缩略图双份归档,可点击放大 |
| 语音 | 自动转码为 mp3,网页内直接播放 |
| 视频 / 小视频 | 保留 mp4 原文件,支持内嵌播放 |
| 动画表情 | 仅占位显示 |
| 分享链接 | 仅占位显示 |
| 位置 / 名片 | 仅占位显示 |
| 语音 / 视频通话 | 仅占位显示 |
| 系统消息 | 仅占位显示(如撤回提示) |
坦率地说,占位类型目前看不到正文,这确实是个"不完善之处",但核心的文字、图片、语音、视频备份价值已经足够实在。
翻车自救手册:症状 → 原因 → 解法
遇到报错别慌,按下面的对照表逐项排查,绝大多数问题都能自己解决。
症状 1:报错里出现 xcodebuild / Xcode 字样
- 原因:你走的是源码编译路线,而系统没装 Xcode
- 解法:装好 Xcode 后在终端执行
sudo xcodebuild -license,按空格翻完协议输入agree,再回到编译步骤。最省事的方案还是直接用预编译文件绕开编译
症状 2:提示无法读取备份文件
- 原因:九成是 iTunes 备份被加密了
- 解法:重新做一次不勾选"加密本地备份"的备份,再走一遍流程
症状 3:导出过程卡住或界面无响应
- 原因:磁盘空间不足,或内存被其他程序挤占
- 解法:先查磁盘剩余空间(语音转码和图片搬运都很吃空间);关掉占用内存的程序;重启工具并换个输出目录再试
症状 4:导出的语音播不了
- 原因:silk 解码器组件不完整,或根本没有生成 mp3
- 解法:先确认 output 目录下的
audio文件夹里有没有 mp3;再检查四件套是否齐全——converter.sh、ffmpeg、silk/decoder、silk/libSKP_SILK_SDK.a,缺一不可
症状 5:其他疑难杂症
- 原因:多数是"版本不符"
- 解法:软件右上角【工具】→【导出运行日志】,会输出系统版本、Node 版本、NW.js 版本、sqlite3 绑定目录等信息,把这些连同问题描述一起贴到项目 issue 区,作者回复 PR 和问题都很及时
进阶玩法:让备份成为习惯,而不是心血来潮
手动备份永远靠不住,把流程交给机器才算真正意义上的数据保护。思路很简单:写一个 shell 脚本,固定好数据源和输出目录,每次运行自动完成"执行导出 → 验证结果 → 压缩归档"三步,再挂到 cron 定时执行(比如每周日凌晨 3 点)。脚本细节可以根据自己的目录结构微调,核心就一句话:让机器替你记得备份这件事。
不同人群的备份频率也可以参考这个梯度:
| 用户类型 | 频率建议 | 存储建议 |
|---|---|---|
| 个人用户 | 每季度一次 | 本地硬盘 + 网盘同步 |
| 商务用户 | 每周增量 + 每月全量 | 加密硬盘 + 定期归档 |
| 专业用户 | 每日增量 + 每周全量 | 多重加密 + 离线存储 |
另外,这个项目完全开源,技术栈非常"古典"但扎实:前端是 AngularJS + Bootstrap + UI-Router,后端是 Node.js + Express,数据库层用 SQLite3 直接读取 MM.sqlite 并重建为新的 data.sqlite,桌面容器是 NW.js,构建用 Grunt + nw-builder。想动手改造的话,模板在development/templates/、控制器在development/js/、样式在development/css/,想加新消息类型、适配 Windows、支持导出静态 HTML 包,都有现成的扩展点。
收尾:一句口诀 + 三条底线
把整条流程浓缩成一句话:不加密的 iTunes 备份 → iMazing 抽出 Documents → 装好 Node.js 与 NW.js → 跑起工具解析导出 → 在本地网页里慢慢回味。
按本文操作,半小时内就能完成一次完整的导出;每一步都可复现,遇到问题照着翻车手册排查即可。最后请务必守住三条底线:只备份自己的聊天记录,不碰他人数据;用加密容器存放备份文件;遵循"3-2-1"原则——3 份副本、2 种介质、1 份离线。聊天记录里藏着的,是家人的叮嘱、朋友的玩笑和那些再也复制不了的瞬间,定期备份,让每一段对话都能穿越时间。
【免费下载链接】WeChatExporter一个可以快速导出、查看你的微信聊天记录的工具项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考