A powerful Streamlit web app to analyze WhatsApp chat exports. Get deep insights into your conversations with statistics, timelines, activity heatmaps, word clouds, emoji analysis, and sentiment detection.
- File Summary: Quick stats on messages, words, media, and links.
- User Selection: Analyze overall or individual user activity.
- Timelines: Interactive monthly and daily message trends.
- Activity Analysis: Most active days/months and weekly heatmaps.
- Wordcloud & Common Words: Visualize most used words.
- Emoji Analysis: Top emojis and their usage.
- Sentiment Analysis: Detect positive, negative, and neutral messages, with keyword and dangerous message detection.
-
Clone the repository:
git clone https://github.com/yourusername/WhatsappChat_Analyzer.git cd WhatsappChat_Analyzer -
Create and activate a virtual environment (recommended):
python -m venv .venv .venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
- Export your WhatsApp chat (without media) from your phone.
- Run the app:
streamlit run app.py
- Open the web browser (usually at
http://localhost:8501). - Upload your chat
.txtfile and explore the analysis!
WhatsappChat_Analyzer/
β
βββ app.py # Main Streamlit app
βββ preprocessor.py # Chat preprocessing functions
βββ helper.py # Analysis helper functions
βββ sentiment.py # Sentiment analysis logic
βββ requirements.txt # Python dependencies
βββ logo.png # App logo (optional)
βββ README.md # Project documentation
- Only supports WhatsApp chat exports in
.txtformat. - For best results, export chats without media.
- Sentiment analysis uses a pre-trained ML model (see
sentiment.py).
See requirements.txt for the full list. Key packages:
- streamlit
- matplotlib
- seaborn
- plotly
- pandas
- numpy
- scikit-learn
- wordcloud
- Tf/Idf Vector
- emoji
Developed by Param Dholakia.
Inspired by the need for better chat insights!
MIT License. See LICENSE for details.
