ChatStats
Find the rhythms, favourite emojis, and little patterns in a WhatsApp chat.
Import a WhatsApp text export to see who talks most, the busiest hours, favourite emojis, and the time between replies. Open an insight or a repeated phrase to read the messages behind it.
The analysis runs in your browser. Your chat stays on your device, held in memory while you explore, rather than being uploaded for analysis.
Highlights
- Analyse an exported WhatsApp text file
- Explore activity, emojis, and response times
- Keep chat data on your device
Inside the conversation
The rhythm
Compare participant activity, busy hours, daily patterns, and the time between replies.
The expressions
See favourite emojis and recurring phrases, then open the messages that used them.
The context
Browse messages behind an insight instead of stopping at a chart or a number.
A conversation in perspective
A long chat contains its own routines: the late-night bursts, the phrase that becomes an in-joke, or the person who reliably starts a conversation. Scrolling finds individual messages, but it is a slow way to see those larger patterns. ChatStats builds a view across an exported WhatsApp conversation.
The starting point is a text export. The browser reads it into messages, participants, and timestamps, then calculates the dashboard. Activity and emoji counts provide an overview; opening a repeated phrase takes you back to the messages that used it. The interesting part is being able to move between a pattern and its context.
Keep the chat close
Personal conversations are a poor fit for an upload-first analysis service. Here, parsing and analysis happen in the browser, and the messages stay in memory for the exploration session. The tool has no server-side chat library. Its website analytics are configured to exclude message content, participant names, and session recordings.
That choice also shapes the interface. The dashboard receives the parsed messages directly, and its message viewer renders only the rows needed for the visible portion of a long list. You can inspect the evidence behind an insight while avoiding the cost of drawing the entire conversation at once.
Understand the measurement
The numbers depend on explicit rules. Response time is the gap between consecutive messages from different people, with gaps longer than four hours excluded. A four-hour gap also separates conversation sessions. Those are useful ways to describe chat activity, but they cannot tell whether someone was busy, asleep, or deliberately waiting.
Text-based sentiment is similarly modest: it counts words from predefined lists. Export parsing also depends on recognised timestamp and message formats. These limits make the message viewer valuable. The project pairs a playful overview with the ability to read the underlying conversation, so a surprising number becomes a reason to look closer.