ByteScope

WhatsApp Chat Viewer

WhatsApp の「チャットをエクスポート」でできた .txt や zip を放り込むと、もう一度チャットとして読めます。自分の発言は右、相手は左、写真・動画・ボイスメッセージはファイルからそのまま再生。検索、参加者ごとの統計、Markdown と CSV の書き出し。すべてこのブラウザのタブで動き、アップロードも保存もしません。

ファイルはブラウザから送信されません — 処理はすべてローカルで行われます。

WhatsApp からエクスポートしたトーク(.txt、またはメディア付きの zip)を置くだけ。チャットの画面で読み、画像も見られ、誰がいつ書いたかも確認できます。アップロードはしません。

WhatsApp のエクスポートを置く、またはクリックして選ぶ

メディア付きの .zip、.txt 単体、または展開済みフォルダ

フォルダを渡すと、チャットの隣にある画像やファイルも表示できます。

できないこと・注意点

  • WhatsApp のエクスポート自体に抜けがあります。投票、返信先の引用、リアクション、編集履歴、消えるメッセージなどは、ふつうファイルに入っていません。エクスポートされていないものは、ここでも見られません。行の形式は公開されている説明からの推定なので、珍しい言語設定のスマホでは読み取りがずれることがあります。
  • WhatsApp には、エクスポートできるメッセージ数やメディア量の上限があります。
  • これは閲覧用で、バックアップツールではありません。ここから WhatsApp に戻すことはできません。
  • ボイスメッセージは再生だけで、文字起こしはしません。文字にしたいときは「動画の字幕」で自分で変換できます。

このツールについて

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——時刻、送信者、本文、添付ファイル名——として保存できます。CSV は RFC 4180 に従って引用符で囲むので表計算ソフトで崩れずに開けます。Markdown の末尾には WhatsApp のエクスポートから無改変で変換した旨と元ファイルの SHA-256 が記され、あとでそのコピーが元のエクスポート由来かを照合できます。このページに PDF の書き出しはありません。印刷するなら Markdown を任意のエディタで開いてそこから印刷してください。

エクスポート自体に入っていないもの

WhatsApp のエクスポートはそれ自体がいろいろ落とします。投票、絵文字のリアクション、編集履歴、返信がどのメッセージを引用していたか、一回限りの閲覧の内容は、通常テキストファイルに入っていませんし、アプリは一回のエクスポートに含めるメッセージ数に上限を設けています(メディアつきとなしで上限が違います)。書き出されなかったものをこのページが見せることはできません。バックアップツールでもありません。ここで読めるものを WhatsApp に戻すことはできません。LINE のトーク履歴には対応していません。処理はすべてこのタブのメモリの中で行われ、閉じれば消えます。アップロードも保存もしません。WhatsApp はその所有者の商標です。これはそれが書き出すファイルのための独立したビューアであって、公式のツールではありません。

よくある質問

トークはどこかにアップロードされますか?

いいえ。テキストの解析、メディアの突き合わせ、検索索引の作成はすべてブラウザの中で行われ、このページには送る先のサーバーがありません。ストレージにも何も書きません。タブを閉じれば消えます。メディアファイルは、それを使うメッセージが画面に出たときにだけ zip から読み出します。

.txt と zip、どちらを放り込めばいいですか?

どちらでも。メディアなしのエクスポートは .txt 一枚、メディアつきは .txt と写真・動画・ボイスメッセージを収めた zip です。メディアを見たいなら zip(または展開したフォルダ)を、テキストだけでよければ .txt を放り込んでください。iPhone か Android か、日付の形式はどうかは、ファイルから判別します。

自分のメッセージが反対側に出るのはなぜ?

エクスポートには誰が書き出したかが書かれていないので、ページは推測するしかありません。メッセージ数が一番多い参加者を「自分」として右側に置きます。それがあなたでなければ参加者一覧から自分を選んでください。吹き出しの左右が入れ替わります。グループでも同じ選択で、誰の発言を自分のものとして表示するかが決まります。

日付が「日/月」か「月/日」か聞かれるのはなぜ?

ファイル中のすべての日付で両方の欄が 12 以下で、3/4 が 4 月 3 日なのか 3 月 4 日なのかを決める手がかりがファイルのどこにもないからです。どれか一つでも 12 を超える欄があれば順序はそこから導けますが、一つもなければページは黙って推測せずに尋ね、ブラウザの地域の慣習を既定として示します。選び間違えてもあとから変えられます。

「メディアは省略されました」「エクスポートに含まれていません」と出るのはなぜ?

「省略されました」は WhatsApp が書いたものです。メディアなしで書き出されたので、ここに写真やボイスメッセージがあったという印だけがテキストに残り、ファイル自体は書き出されていません。「エクスポートに含まれていません」はこのページの表示です。テキストが参照しているファイルが、放り込まれた zip やフォルダの中にありません。どちらにせよ、その画像は手元にはありません。あるボイスメッセージはその場で再生できますが、文字起こしはここではしません。このサイトの字幕ツールが音声ファイルから行えます。

トークを PDF にできますか?

このページから直接はできません。PDF の書き出しはないからです。トークを Markdown か CSV(時刻、送信者、本文、添付名)として保存し、Markdown を任意のエディタで開いて印刷ダイアログから PDF にしてください。どちらの書き出しも末尾に、内容を無改変で変換した旨と元のエクスポートの SHA-256 がつきます。ファイルを記録として使うときに意味を持つ一行です。

このトークを新しい端末に復元できますか?

いいえ。エクスポートしたトークはテキストファイルであってバックアップではなく、WhatsApp はそれを取り込みません。このページでできるのはエクスポートを読み、検索し、保存しておくことで、それがテキストのエクスポートにできる最大限です。