# WhatsApp Chat Viewer

> 把 WhatsApp 匯出的聊天紀錄——.txt 或含媒體的 zip——丟進瀏覽器，重新用聊天畫面讀：搜尋、看誰講最多話、哪個時段最熱絡，再存成 Markdown 或 CSV。檔案不上傳。

- URL: https://bytescope.dev/zh-Hant/whatsapp-chat-viewer/
- Locale: zh-Hant · Also: [en](https://bytescope.dev/en/whatsapp-chat-viewer.md) · [ja](https://bytescope.dev/ja/whatsapp-chat-viewer.md)
- Runs: 檔案不會離開你的瀏覽器 — 全部在本機處理。
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

WhatsApp 可以把任何一段聊天匯出成文字檔，含媒體或不含媒體都行。換手機時紀錄沒搬過去，常常只剩這份檔案；租屋糾紛、工作上的往來要留紀錄，要的也正是它。匯出檔讀得了，但很難讀：一整份長長的 `.txt`，每一行前面一個時間戳。這一頁把它變回聊天畫面。把 `.txt`、含媒體匯出的 zip 或解壓縮後的資料夾丟進來，訊息就會變成一個個對話框，有日期分隔線，系統訊息（加密說明、有人加入或離開、群組改名）淡色顯示，上方有搜尋框和「跳到某一天」。從參與者清單選一個當「你自己」——頁面會先猜訊息最多的那位，你可以改。

### 這些行是怎麼被讀懂的

iPhone 和 Android 寫出來的匯出檔長得不一樣——一邊是 `[日期 時間] 名字: 訊息` 的方括號格式、每行開頭還藏著一個看不見的從左到右標記（U+200E），另一邊是 `日期, 時間 - 名字: 訊息`——而日期順序、12 或 24 小時制、上下午的字樣又會跟著手機語言變。這一頁從檔案本身判斷平台和格式。這些樣式是依公開描述推定的，不是出自任何規格書，所以長得不一樣的匯出檔會被報出來，不會默默讀錯。不像訊息開頭的行會接到上一則後面，多行訊息就是這樣保住的；一行壞掉的時間只影響那一行。日和月分不出來的時候——整份檔案每個日期兩個欄位都 ≤ 12——頁面會請你選，不會亂猜，預設是你瀏覽器語系的慣例。時間照 WhatsApp 寫的原樣顯示，因為匯出檔裡沒有時區。

### 媒體與附件

匯出含媒體時，WhatsApp 留在文字裡的記號——iPhone 的 `<attached: …>`、Android 的 `… (file attached)`——會對應到 zip 或資料夾裡的檔案，照片、影片、語音訊息就直接在對話裡顯示、播放，從檔案裡來。對應的檔案不在，或者匯出時沒含媒體、文字裡只留下「媒體已省略」，那則訊息就會這樣寫。語音訊息只能播放，不會轉成文字；要逐字稿的話，站上的字幕工具（`/video-subtitles`）可以吃音訊檔。

### 搜尋與統計

搜尋就是對每則訊息做純粹的子字串比對，轉小寫、做 NFKC 正規化，所以中文、日文的名字和字詞不用斷詞也找得到；點一個結果就跳到那則訊息並高亮。統計頁列出每位參與者的訊息數和字數、24 小時分布圖看聊天最熱絡的時段，以及每月訊息數。到這裡就停了：沒有情緒分析，也沒有「誰比較愛誰」這種解讀。它只會數數。

### 存成 Markdown 或 CSV

整段對話可以存成 Markdown，或存成 CSV、一則訊息一列——時間、寄件者、內容、附件檔名——依 RFC 4180 加引號，試算表打開不會跑掉。Markdown 頁尾會註明這份檔案是從 WhatsApp 匯出檔轉換而來、未經修改，並附上原始檔的 SHA-256，之後可以核對這份副本是不是出自那個匯出檔。這一頁沒有 PDF 匯出；要列印的話，把 Markdown 用任何編輯器打開再列印。

### 匯出檔本身就漏掉的東西

WhatsApp 的匯出本身通常就會漏東西：投票、emoji 反應、編輯紀錄、某則回覆引用的是哪一則、閱後即焚的內容，一般都不在文字檔裡，而且 app 對一次匯出的訊息則數有上限——含媒體和不含媒體的上限不同。沒匯出的東西這一頁沒辦法變出來。它也不是備份工具：這裡看得到的，沒辦法匯回 WhatsApp。所有處理都在這個分頁的記憶體裡，關掉就沒了，不上傳、不儲存。WhatsApp 是其所有者的商標；這是一個獨立的檢視器，用來讀它匯出的檔案，不是官方工具。

## Limits

Does not upload or store your chats, does not restore them into WhatsApp, and does not read anything other than a WhatsApp exported chat (.txt or .zip).

## FAQ

### 我的聊天紀錄會被上傳嗎？

不會。文字解析、媒體對應、搜尋索引都在你的瀏覽器裡做，這一頁沒有伺服器可以把東西送過去。也不會寫進任何儲存空間，分頁一關就沒了。媒體檔只在用到它的訊息出現在畫面上時才從 zip 裡讀出來。

### 要丟哪個檔案？.txt 還是 zip？

都可以。不含媒體的匯出是單一個 `.txt`；含媒體的是一個 zip，裡面有那份 `.txt`，照片、影片、語音放在旁邊。想看媒體就丟 zip（或解壓縮後的資料夾）；只要文字就丟 `.txt`。平台是 iPhone 還是 Android、日期是什麼格式，都從檔案本身判斷。

### 為什麼我的訊息在錯的那一邊？

因為匯出檔沒有寫是誰匯出的，頁面只能猜：把訊息最多的那位放在右邊當「你自己」。猜錯了就從參與者清單選你自己，對話框會換邊。群組聊天也是用同一個選單決定誰的訊息算你的。

### 為什麼要我選日期是「日／月」還是「月／日」？

因為你這份檔案裡每個日期的兩個欄位都 ≤ 12，檔案裡沒有任何線索能判斷 `3/4` 是 4 月 3 日還是 3 月 4 日。只要匯出檔裡有任何一個日期的欄位超過 12，順序就能從它推出來；一個都沒有的時候，頁面寧可問你也不默默猜，並把你瀏覽器語系的慣例當預設。選錯了也可以再改。

### 為什麼有訊息寫「媒體已省略」或「附件未包含在匯出中」？

「已省略」是 WhatsApp 寫的：匯出時沒含媒體，所以文字裡只留下一個記號說這裡本來有一張照片或一段語音，檔案本身從來沒被匯出。「附件未包含在匯出中」是這一頁寫的：文字裡提到一個檔案，但你丟進來的 zip 或資料夾裡沒有它。不管哪一種，那張圖都不在你手上。有在的語音訊息可以直接播放，但這裡不會轉成文字——站上的字幕工具可以拿音訊檔去轉。

### 可以把聊天紀錄轉成 PDF 嗎？

這一頁不能直接轉——沒有 PDF 匯出。你可以把聊天存成 Markdown 或 CSV（時間、寄件者、內容、附件檔名），再把 Markdown 用任何編輯器打開，用它的列印功能存成 PDF。兩種匯出的結尾都會註明內容未經修改，並附上原始匯出檔的 SHA-256；檔案要拿來當紀錄的時候，這一行很重要。

### 可以把這段聊天還原到新手機嗎？

不行。匯出的聊天是文字檔，不是備份，WhatsApp 也不會匯入它。這一頁能做的是讓你讀、搜尋、保存這份匯出檔——這已經是文字匯出能給的全部了。

## Related tools

- [Chat Export Viewer](https://bytescope.dev/zh-Hant/chat-export-viewer.md) — 瀏覽 ChatGPT 或 Claude 的資料匯出檔 →
- [VCF to CSV Converter](https://bytescope.dev/zh-Hant/vcf-to-csv.md) — 把聯絡人 .vcf 檔轉成試算表 →
- [Video Subtitles](https://bytescope.dev/zh-Hant/video-subtitles.md) — 把音訊或影片裡的語音轉成字幕 →
- [MSG Viewer](https://bytescope.dev/zh-Hant/msg-viewer.md) — 不用 Outlook 也能開啟 .msg 檔 →
