Analyze your WhatsApp chat exports to gain deep insights into user activity, emoji usage, communication patterns, and more — all powered by Python and Streamlit! 🚀
- About the Project
- Demo Screenshots
- Features
- Tech Stack
- Getting Started
- Usage Guide
- Future Enhancements
- Contributing
- License
- Contact
The WhatsApp Chat Analyzer is a powerful tool that lets you visualize and explore your WhatsApp chat data in a clean and interactive way. Designed for personal insights, data exploration, or just fun, this analyzer helps uncover hidden patterns in conversations like:
- Who chats the most?
- When are people most active?
- How is media shared?
- What emojis are used the most?
- Which words appear frequently?
Whether you're analyzing a group chat or private one-on-one, this tool has you covered.
All visualizations are dynamically generated. Here's what you can expect:
Timeline Charts | Emoji Analysis | Activity Heatmaps |
---|---|---|
![]() |
![]() |
![]() |
Most Active Users | Word Cloud | Activity Maps |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- 📈 Message Stats: Total messages, words, media shared, and links.
- 📊 Timelines: Daily & monthly activity visualized with clean graphs.
- 🔎 Most Active Participants: Message distribution per user in group chats.
- 🌌 Activity Maps: Most busy day and month analysis.
- 🛏️ Heatmaps: Weekly activity pattern overview.
- ☁️ Word Cloud: Visualize the most frequent words used.
- 😃 Emoji Analysis: Top emojis and their usage count.
- 📅 Date Filters (coming soon): Analyze specific time ranges.
- Python 3.8+
- Pandas - for data manipulation
- Matplotlib & Seaborn - for static charts
- Streamlit - to create the interactive UI
- WordCloud - to generate word cloud visualizations
- Emoji - for emoji filtering and stats
Make sure you have Python 3.8+ installed.
Install the dependencies:
pip install -r requirements.txt
git clone https://github.com/rohit-ramteke/whatsapp-chat-analyzer.git
cd whatsapp-chat-analyzer
streamlit run app.py
- Open WhatsApp chat (group or individual).
- Tap on 3-dot menu ⋮ > More > Export Chat.
- Choose "Without Media" and save the
.txt
file.
- Upload your exported
chat.txt
file using the sidebar. - Select a user (or choose "Overall").
- Click Show Analysis.
- Explore all interactive stats and visuals.
If you don’t have a chat ready, try the app with our included sample_chat.txt
file in the assets
folder.
- ✨ Sentiment Analysis using NLP
- 🧠 AI-generated conversation summaries
- 📅 Date range filters
- ✪ Mobile-friendly UI improvements
- 📊 Switch to Plotly for interactive graphs
We welcome contributions!
- Fork the repo.
- Create a new branch:
git checkout -b feature/my-new-feature
- Make changes and commit:
git commit -m "Add new feature"
- Push to the branch:
git push origin feature/my-new-feature
- Open a Pull Request.
MIT License. See LICENSE for details.
- Creator: Rohit Ramteke
- GitHub: rohitramteke1
Give this repo a ⭐ if you liked the project and found it useful!