从任意应用导出你的聊天记录。
涵盖 iPhone、Android、Mac 和 Windows 上 12 款通讯应用的分步说明,并选用每款应用所提供的最便于机器读取的格式:优先 JSON,其次 XML,最后是纯文本。
你导出的文件是私密的。请妥善保管。
下文的每个文件都是你对话内容的完整明文副本,也包括其他人发送的消息。请把它存放在只有你能访问的地方,不要放在共享的云端文件夹里。
各应用一览。
从哪里导出、能选的最佳格式,以及导出内容会缺少什么。
| 应用 | 导出位置 | 最佳格式 | 导出内容 |
|---|---|---|---|
| iMessage / iPhone SMS | Mac(同步)· Mac/Windows(iPhone 备份) | SQLite | 全部内容 |
| iPhone · Android | TXT(打包在 .zip 中) | 每次一个聊天,有数量上限 | |
| LINE | iPhone · Android · Mac · Windows | TXT | 每次一个聊天 |
| Telegram | Mac · Windows (Telegram Desktop) | JSON | 所有聊天 |
| Signal | Mac · Windows(Desktop + 工具)· Android | Markdown/JSON | Desktop 中已有的内容 |
| Android SMS/MMS | Android | XML | 所有短信/彩信 |
| Facebook Messenger | 任意浏览器 · iPhone · Android | JSON | 所有聊天(见端到端加密说明) |
| Instagram DMs | 任意浏览器 · iPhone · Android | JSON | 所有私信 |
| Google Chat | 任意浏览器 | JSON | 所有聊天 |
| Discord | 任意设备(桌面版、网页版、移动版) | JSON | 仅限你发送的消息 |
| Slack | 任意浏览器,仅限管理员 | JSON | 取决于套餐 |
| 无可用设备 | 无法导出 | 不可行 |
把文件从手机里传出来。
有些应用只能在手机上导出。下面是最简单的传输方法。
- 01 · iPhone → Mac
用隔空投送。
或者通过 Save to Files → iCloud Drive 保存,再在 Finder 中打开。
- 02 · iPhone → Windows
通过云端中转。
通过 Save to Files 保存到 iCloud Drive、OneDrive 或 Google Drive,或者发邮件给自己。
- 03 · Android → 电脑
云端硬盘、邮件或数据线。
保存到 Google Drive、发邮件给自己,或者插上 USB 数据线(Windows:文件资源管理器;Mac:Android File Transfer 或 OpenMTP)。
iMessage(以及 iPhone 上的短信)
- 导出位置
- Mac(同步)· Mac/Windows(iPhone 备份)
- 导出内容
- 全部内容
这里没有“导出”按钮。你的聊天记录保存在“信息”应用自己的数据库(chat.db)中,所以要做的是把这个数据库弄到电脑上。Android 用户请改看 Android 短信。
Mac(推荐)
- 在 iPhone 上:Settings → [你的名字] → iCloud → Messages in iCloud → on(开启 Sync this iPhone)。
- 在 Mac 上:Messages → Settings → iMessage → Enable Messages in iCloud,然后点击 Sync Now。
- 保持“信息”应用打开,直到同步完成(记录多时可能需要数小时)。之后,iPhone 上的对话就会出现在 Mac 的“信息”中。
iPhone 上的短信/RCS 也会一并同步。数据库位于 ~/Library/Messages/chat.db;要读取它,你的应用需要 Full Disk Access(System Settings → Privacy & Security)。如需转换成易读的 HTML 或文本文件,开源的 imessage-exporter 是标准工具。
Mac 或 Windows:iPhone 备份(无需 iCloud)
请保持 Encrypt local backup 关闭,否则不解密就无法读取该文件。
- Mac:连接 iPhone → Finder → 选中它 → Back up all of the data on your iPhone to this Mac → Back Up Now。
- Windows:从 Microsoft Store 安装 Apple Devices(较旧的 Windows 则安装 iTunes)→ 连接 iPhone → Back up all of the data on your iPhone to this computer → Back Up Now。
随后,消息数据库(格式与 Mac 上的 chat.db 相同)位于:
| Mac | ~/Library/Application Support/MobileSync/Backup/<device-id>/3d/3d0d7e5fb2ce288813306e4d4636395e047a3d28 |
|---|---|
| Windows (Apple Devices / Store iTunes) | %USERPROFILE%\Apple\MobileSync\Backup\<device-id>\3d\3d0d7e5fb2ce288813306e4d4636395e047a3d28 |
| Windows(从 apple.com 下载的旧版 iTunes) | %APPDATA%\Apple Computer\MobileSync\Backup\<device-id>\3d\3d0d7e5fb2ce288813306e4d4636395e047a3d28 |
- 导出位置
- iPhone · Android
- 导出内容
- 每次一个聊天,有数量上限
只有手机应用支持导出,而且每次只能导出一个聊天。Mac/Windows 版 WhatsApp 和 WhatsApp Web 都没有导出功能,而 Settings → Account → Request account info 不包含消息。
- iPhone:打开聊天 → 点击顶部的联系人或群组名称 → Export Chat → Without Media → Save to Files(或隔空投送到 Mac)。
- Android:打开聊天 → ⋮ → More → Export chat → Without media → 保存到 Drive、发送邮件或存入“文件”。
- Mac / Windows:不支持。请在手机上导出,然后传输文件。
- 输出:一个
.zip文件,内含_chat.txt(iPhone)或WhatsApp Chat with <name>.txt(Android)。
注意事项
- 数量上限:不含媒体时约为最近 40,000 条消息,含媒体时约为 10,000 条。除非需要这些文件,否则请选择 Without Media 导出。
- 开启了 Advanced Chat Privacy 的聊天无法导出。请先为该聊天关闭此功能。
- iPhone 和 Android 导出的文本格式不同,时间戳也会跟随手机的地区设置和 12/24 小时制。请在同一部手机上导出所有内容,以保持文件格式一致。
LINE
- 导出位置
- iPhone · Android · Mac · Windows
- 导出内容
- 每次一个聊天
按聊天导出,仅限文本(照片和贴图显示为 [Photo]、[Sticker])。所有设备均可使用。
- iPhone / Android:打开聊天 → ≡(右上角)→ Settings → Export chat history → 保存到“文件”、Drive 或通过邮件发送。
- Mac / Windows(LINE 桌面应用):打开聊天 → ≡(右上角)→ Save chat → 选择保存位置。
- 输出:
[LINE] Chat with <name>.txt。
不要使用 LINE 的“Back up chat history”(iCloud / Google Drive)。该备份经过加密,只能恢复到 LINE 中。
Telegram
- 导出位置
- Mac · Windows (Telegram Desktop)
- 导出内容
- 所有聊天
只有 Telegram Desktop 提供导出功能,它在 Mac 和 Windows 上是同一款应用。
- Mac:从 desktop.telegram.org 安装 Telegram Desktop,或运行
brew install --cask telegram-desktop。App Store 中名称仅为“Telegram”的应用是另一个客户端,不提供完整导出。 - Windows:从 desktop.telegram.org 或 Microsoft Store 安装 Telegram Desktop。
- iPhone / Android:不支持。请改在电脑上登录 Telegram Desktop。
然后,在 Telegram Desktop 中:
- 整个账号:Settings → Advanced → Export Telegram data → 勾选 Personal chats、Private groups(如有需要,也可勾选 Bot chats / Public groups)→ 取消勾选不需要的媒体 → Format: Machine-readable JSON → Export。
- 单个聊天:打开该聊天 → ⋮ → Export chat history → Format: JSON。
- 输出:一个文件夹(默认为
Downloads/Telegram Desktop/),内含result.json。
注意:在刚登录的设备上,Telegram 可能会要求你在另一台设备上批准导出,和/或等待约 24 小时后才开始导出。
Signal
- 导出位置
- Mac · Windows(Desktop + 工具)· Android
- 导出内容
- Desktop 中已有的内容
Signal 没有明文导出功能。标准做法是用开源工具 signal-export 读取 Signal Desktop 的加密数据库。Mac 和 Windows 上的步骤相同。
Mac / Windows
- 安装 Signal Desktop(signal.org/download)并与手机关联。关联时选择 Transfer message history,否则 Desktop 只会有关联日期之后的消息(迁移会带上文字记录,但媒体只保留约 45 天)。
- 等待同步完成,然后退出 Signal Desktop。
- 如果还没有安装 uv,请先安装,然后在 Terminal(Mac)或 PowerShell(Windows)中运行:
在 Mac 上,请允许钥匙串弹出的授权请求(“Signal Safe Storage”),数据库密钥就是通过它解密的。uvx --from signal-export sigexport signal-exportsigexport --help会列出格式选项(--json、--list-chats、--chats)。 - 输出:一个
signal-export文件夹,每个聊天一个子文件夹(Markdown/JSON 以及附件)。
Android(无需电脑即可创建)
Signal → Settings → Chats → Chat backups(较新版本:Settings → Backups → On-device backups)→ 开启 → 记下 30 位数字密码 → Create backup。signal-*.backup 文件是加密的;解密需要 signalbackup-tools(Mac/Windows/Linux)以及该密码。
iPhone
iPhone 上没有本地备份文件。请使用 Desktop 方法。
Signal 的云端“Secure Backups”经过加密,只能用于恢复,无法导出。
Android 短信 / 彩信
- 导出位置
- Android
- 导出内容
- 所有短信/彩信
Android 没有内置的导出功能,Google Takeout 也不包含短信。事实上的标准工具是 SyncTech 出品的 SMS Backup & Restore(Play 商店):
- 打开应用 → Set up a backup → Messages(Calls 可选)→ 选择保存位置(本地存储、Google Drive 或 Dropbox)→ Back up now。
- 把文件传输到你的电脑。
- 输出:
sms-<timestamp>.xml(所有短信和彩信,一个文件)。
iPhone 短信保存在“信息”中;请参阅 iMessage 部分。
注意:Google Messages 中的 RCS(“聊天”)消息可能缺失或不完整,具体取决于应用版本。请在 XML 中抽查一段你熟悉的 RCS 对话。
Facebook Messenger
- 导出位置
- 任意浏览器 · iPhone · Android
- 导出内容
- 所有聊天(见端到端加密说明)
通过 Meta 的 Accounts Center 完成,所有设备上的操作都一样。用电脑浏览器最方便,因为下载的是一个很大的 .zip 文件。
- 任意浏览器:facebook.com → 头像 → Settings & privacy → Settings → Accounts Center。
- iPhone / Android:Facebook 或 Messenger 应用 → 菜单/个人主页 → Settings → Accounts Center。
然后:
- 前往 Your information and permissions → Download your information → Download or transfer information。
- 选择你的 Facebook 个人主页 → Specific types of information → Messages。
- Download to device → Date range 选 All time → Format 选 JSON → Media quality 选 Low → Create files。文件准备好后你会收到通知(几分钟到几天不等);之后在同一页面下载。
- 输出:一个 .zip 文件,内含
your_facebook_activity/messages/inbox/<name>_<id>/message_1.json(较长的聊天会拆分为message_2.json,…)。
端到端加密的聊天(自 2023 年底起,个人 Messenger 聊天默认采用这种加密)可能不在此次导出中。对于这些聊天:Messenger 应用或 messenger.com → Settings → Privacy & safety → End-to-end encrypted chats → Message storage → Download secure storage data。
Instagram 私信
- 导出位置
- 任意浏览器 · iPhone · Android
- 导出内容
- 所有私信
与 Messenger 相同的 Accounts Center 流程,任何设备均可:
- 任意浏览器:instagram.com → More → Settings → Accounts Center。
- iPhone / Android:Instagram 应用 → 个人主页 → ☰ → Accounts Center。
然后前往 Your information and permissions → Download your information → Download or transfer information → 选择你的 Instagram 个人主页 → Specific types of information → Messages → Download to device,选择 All time、JSON。
输出:your_instagram_activity/messages/inbox/<thread>/message_1.json。
Google Chat(以及旧版 Hangouts)
- 导出位置
- 任意浏览器
- 导出内容
- 所有聊天
使用 Google Takeout,任何浏览器均可(手机上也能操作,但请在电脑上下载 .zip 文件):
- 打开 takeout.google.com → Deselect all → 勾选 Google Chat → Next step。
- 选择导出一次、.zip 格式 → Create export。Google 会通过邮件发送下载链接。
- 输出:
Takeout/Google Chat/Groups/<id>/messages.json(私信和聊天室都位于Groups/下)。Hangouts 的记录已迁移到 Google Chat,也会在这里导出。
Discord
- 导出位置
- 任意设备(桌面版、网页版、移动版)
- 导出内容
- 仅限你发送的消息
在任意设备上申请一次即可;数据包会通过邮件发送。
- Mac / Windows(应用或 discord.com):⚙ User Settings → Data & Privacy → Request all of my data。
- iPhone / Android:You 标签页(个人资料)→ ⚙ Settings → Data & Privacy → Request data。
保持勾选 Messages → Submit。邮件链接会在几天内送达(最长 30 天);请在电脑上打开。输出:Messages/c<channel_id>/messages.json,以及将频道 ID 对应到名称的 Messages/index.json(较旧的数据包使用 messages.csv)。
注意:其中只有你发送的消息,不包含其他人的回复。Discord 没有官方方法导出对话中对方的内容。
Slack
- 导出位置
- 任意浏览器,仅限管理员
- 导出内容
- 取决于套餐
只有工作区所有者和管理员可以导出,而且只能在浏览器中操作(桌面应用只会打开浏览器;移动应用无法导出):
工作区名称(左上角)→ Settings & administration → Workspace settings → Import/Export Data → Export → 选择日期范围 → Start Export。
- Free/Pro 套餐:仅限公开频道。私信和私密频道需要 Business+ 或 Enterprise Grid(并需获批申请)。
- 输出:一个 .zip 文件,每个频道一个文件夹,每天一个 JSON 文件,另有用于解析 ID 的
users.json/channels.json。
微信:不可行
- 导出位置
- 无可用设备
- 导出内容
- 不可行
所有设备都没有明文导出功能。Mac/Windows 版微信中的“备份与恢复”只会生成仅能由微信恢复的加密备份,而第三方提取工具需要从进程内存中取出数据库密钥。请视为不支持。
发现菜单位置变了?
各应用经常调整设置菜单。如果这里的某个步骤已经过时,或者你希望我们介绍其他应用,请告诉我们。