https://github.com/linggarm/whatsapp-chat-viewer
Aplikasi web berbasis Flask untuk memvisualisasikan ekspor chat WhatsApp dalam tampilan yang menyerupai antarmuka asli WhatsApp.
https://github.com/linggarm/whatsapp-chat-viewer
chat css flask html javascript python whatsapp
Last synced: 8 days ago
JSON representation
Aplikasi web berbasis Flask untuk memvisualisasikan ekspor chat WhatsApp dalam tampilan yang menyerupai antarmuka asli WhatsApp.
- Host: GitHub
- URL: https://github.com/linggarm/whatsapp-chat-viewer
- Owner: LinggarM
- Created: 2026-05-08T01:27:21.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-06-03T07:14:20.000Z (about 1 month ago)
- Last Synced: 2026-06-03T09:12:18.263Z (about 1 month ago)
- Topics: chat, css, flask, html, javascript, python, whatsapp
- Language: Python
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# WhatsApp Chat Viewer
Aplikasi web berbasis Flask untuk memvisualisasikan ekspor chat WhatsApp dalam tampilan yang menyerupai antarmuka asli WhatsApp.
  
---
## Tampilan
- Dark theme khas WhatsApp (hijau & abu-abu gelap)
- Bubble chat dengan ekor (tail) kiri/kanan
- Avatar inisial warna-warni per pengirim
- Pemisah tanggal otomatis
- Tanda centang biru untuk pesan pengirim
---
## Fitur
- **Upload file `.txt`** — drag & drop atau klik untuk memilih file ekspor WhatsApp
- **Paste teks langsung** — tidak perlu file, cukup paste teks chat ke textarea
- **Parser cerdas** — mendukung format tanggal `DD/MM/YY` dan `DD/MM/YYYY`, pemisah titik maupun titik dua pada waktu
- **Pesan multi-baris** — konten pesan yang panjang dan berbaris banyak tetap terbaca dengan benar
- **Pesan sistem** — info enkripsi, bergabung/keluar grup ditampilkan sebagai label tengah
- **Media placeholder** — `` tampil dengan ikon gambar dan teks miring
- **Pesan terhapus** — ditampilkan dengan ikon 🚫 dan gaya italic
- **Link clickable** — URL di dalam pesan otomatis jadi hyperlink
- **Pencarian real-time** — filter pesan dan highlight teks hasil pencarian
- **Pengelompokan pengirim** — avatar hanya muncul sekali di awal rangkaian pesan dari pengirim yang sama
- **Tombol kembali** — upload chat baru tanpa restart server
---
## Instalasi
### Prasyarat
- Python 3.7 atau lebih baru
- pip
### Langkah
```bash
# 1. Clone atau download file app.py ke folder proyek
mkdir wa-chat-viewer
cd wa-chat-viewer
# 2. (Opsional) Buat virtual environment
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
# 3. Install dependensi
pip install flask
# 4. Jalankan aplikasi
python app.py
```
Buka browser dan akses **http://localhost:5000**
---
## Cara Mendapatkan File Ekspor WhatsApp
### Di Android
1. Buka chat yang ingin diekspor
2. Ketuk ⋮ (tiga titik) → **Lainnya** → **Ekspor chat**
3. Pilih **Tanpa media**
4. Simpan atau kirim file `.txt` ke komputer
### Di iPhone
1. Buka chat → ketuk nama kontak/grup di bagian atas
2. Scroll ke bawah → **Ekspor Chat**
3. Pilih **Tanpa Media**
4. Simpan file `.txt`
---
## Format yang Didukung
Parser mendukung dua format umum ekspor WhatsApp:
```
DD/MM/YY HH.MM - Nama: Pesan
DD/MM/YYYY HH:MM - Nama: Pesan
```
Contoh:
```
03/06/24 12.46 - Pesan dan panggilan terenkripsi secara end-to-end.
05/06/24 14.47 - Irsal: http://contoh.com
24/06/24 10.08 - Irsal:
04/09/24 19.53 - Linggar FTF: Makasih banyak mas 👍🏻
```
---
## Struktur File
```
wa-chat-viewer/
└── app.py # Aplikasi Flask (semua logika + template HTML dalam satu file)
```
---
## Konfigurasi
Secara default aplikasi berjalan di `host=0.0.0.0` port `5000`. Ubah di bagian bawah `app.py` jika diperlukan:
```python
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)
```
Untuk production, gunakan WSGI server seperti `gunicorn`:
```bash
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 app:app
```
---
## Catatan Privasi
Aplikasi ini berjalan **sepenuhnya lokal** di komputer Anda. Tidak ada data chat yang dikirim ke server eksternal manapun. File `.txt` hanya diproses di memori saat request berlangsung dan tidak disimpan ke disk.
---
## Lisensi
MIT License — bebas digunakan dan dimodifikasi.