A powerful web application to analyze and visualize WhatsApp chat data with comprehensive insights using Streamlit and NLP.
WhatsApp Chat Analyzer is an interactive Streamlit web app that extracts meaningful insights from your exported WhatsApp chat. It offers detailed statistics, engaging visualizations, and sentiment analysis to help you understand communication patterns in both individual and group chats.
- Total messages sent
- Total words exchanged
- Media files shared
- Links shared
- Monthly Timeline: Track message volume over each month
- Daily Timeline: View activity fluctuations by date
- Weekly & Monthly Activity: Discover the most active weekdays and months
- Visualize message frequency by day of the week and hour of the day
- Most active users in group chats
- User-wise message contribution percentage
- Top 5 frequently used words per user
- Two types of word clouds: Extended and Standard
- Bar chart of 20 most commonly used words
- Emoji usage analysis and visualization
- Summary of overall sentiment: Positive, Negative, Neutral
- Sentiment distribution visualization
- Sentiment timeline: how sentiment evolves during the conversation
- Most positive and negative messages
- User-wise sentiment comparison
git clone https://github.com/Divak-ar/whatsapp_chatanalysis.git
cd whatsapp_chatanalysis
# Install dependencies
pip install -r requirements.txt
# Run the application
streamlit run app.py
🧩 Project Structure
📁 whatsapp-chat-analysis/
├── app.py # Main Streamlit app
├── helper.py # Chat analysis & visualization functions
├── preprocessor.py # Preprocessing & cleaning of chat data
├── sentiment_analysis.py # Sentiment analysis utilities
├── requirements.txt # Python dependencies
📝 Note
This tool processes only text-based WhatsApp exports. It does not access or analyze media files. All data is processed locally on your machine to ensure privacy.