Home

Awesome

<!--suppress HtmlDeprecatedAttribute --> <div align="center">

Logo-Dark Logo-Light

<h3>Generate interactive, beautiful and insightful chat analysis reports</h3>

Open App β€’ View Demo β€’ Use CLI

GitHub Workflow Status codecov npm Docker

Donate

</div>

A web app that takes chat exports from supported platforms and generates a single HTML file containing information, statistics and interactive graphs about them. Privacy is its main concern; chat data never leaves the device when generating reports. Selfhost with Docker!

πŸ’¬ MESSAGESπŸ…°οΈ LANGUAGEπŸ˜ƒ EMOJIπŸ”— LINKSπŸ“ž CALLSπŸŒ€ INTERACTIONπŸ’™ SENTIMENTπŸ“… TIMELINE
<img src="https://user-images.githubusercontent.com/5845105/222576038-ebcff785-1d5a-4402-ac16-5f55fe7a1a8f.png" alt="chat analytics messages tab" width="200"><img src="https://user-images.githubusercontent.com/5845105/222576383-91ec15d7-0a3b-44eb-96bb-24de3886d23f.png" alt="chat analytics language tab" width="200"><img src="https://user-images.githubusercontent.com/5845105/222576596-dfeb7660-808f-4b1f-905c-340282f1ed8d.png" alt="chat analytics emoji tab" width="200"><img src="https://user-images.githubusercontent.com/5845105/222576676-9eac93b7-59d2-4ab6-95d4-d65bb0d32207.png" alt="chat analytics links tab" width="200"><img src="https://github.com/mlomb/chat-analytics/assets/5845105/644c41ee-767b-4554-9bf5-9c79e7c37bce" alt="chat analytics calls tab" width="200"><img src="https://user-images.githubusercontent.com/5845105/222576804-0d884987-6394-4435-97cd-06bbca84e391.png" alt="chat analytics interaction tab" width="200"><img src="https://user-images.githubusercontent.com/5845105/222576869-f754d647-d915-4938-8acf-6c85f9315fee.png" alt="chat analytics sentiment tab" width="200"><img src="https://user-images.githubusercontent.com/5845105/222576879-30461d12-2a3b-4814-a16c-b23eab263b6b.png" alt="chat analytics timeline tab" width="200">

You can interact with the demo here!

Chat platform support

You can generate reports from the following platforms:

PlatformFormats supportedText contentEdits & RepliesAttachment TypesReactionsProfile pictureMentionsCalls
Discordjson from DiscordChatExporterβœ…βœ…βœ…βœ…βœ… (until link expires)βœ… (as text)βœ…
Messengerjson from Facebook DYI exportβœ…βŒβœ…βŒβŒβœ… (as text)❌
Telegramjson from Telegram Desktopβœ…βœ…βœ…βŒ (not provided)βŒβœ… (as text)βœ…
WhatsApptxt or zip exported from a phoneβœ…βŒ (not provided)βœ…<strong>*</strong> (if exported from iOS)<br>🟦 (generic if exported from Android)❌ (not provided)βŒβœ… (as text)❌

<strong>*</strong> not all languages are supported, check WhatsApp.ts.

You can't combine exports from different platforms.
The contribution of new platform parsers is always welcomed πŸ™‚

Privacy & Analytics

Since all chat data always stays in the browser, there is zero risk of someone reading your chats. Note that the report HTML file contains sensitive information (one may reconstruct message contents for every message), so share your reports with people you trust.

The site does not use cookies either and uses a self-hosted version of Plausible. All events do not contain PII and the information is segmented (e.g. 1MB-10MB, etc.). Since I want full transparency, you can check the site analytics here.

CLI

You can generate reports from the command line using npx chat-analytics:

Usage: chat-analytics -p <platform> -i <input files>

Options:
      --help      Show help                                            [boolean]
      --version   Show version number                                  [boolean]
  -p, --platform  The platform to generate for
   [string] [required] [choices: "discord", "messenger", "telegram", "whatsapp"]
  -i, --inputs    The input file(s) to use (glob)             [array] [required]
  -o, --output    The output HTML filename     [string] [default: "report.html"]
      --demo      Mark the report as a demo           [boolean] [default: false]

For example:

npx chat-analytics -p discord -i "exported/*.json" -o report.html

Docs & Development

You can read docs/README.md for technical details, and docs/DEV.md for development instructions.
In docs/TODO.md you can find ideas and pending stuff to be implemented.

Acknowledgements

License

AGPLv3. See LICENSE.