Skip to content

A python script for extracting WhatsApp conversations from the app's SQLite database and exporting them as HTML or txt files.

License

Notifications You must be signed in to change notification settings

fchu/whatsapp-exporter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WhatsApp Exporter

A python script for extracting WhatsApp conversations from the app's SQLite database and exporting them as HTML or txt files.

Screenshot

Features

  • Export WhatsApp chats to a WhatsApp Web like HTML page.
  • Export WhatsApp chats to txt files (one per chat).

Usage

  1. Prerequisite: The Whatsapp database files must be available (see the following section).
  2. Supply all configuration values in config.cfg. Here, the paths to the database files must be given. The wa.db database is only needed for adding names of contacts and does not need to be used.
  3. Run the main script.
python3 main.py

Retrieving WhatsApp Databases

For retrieving the WhatsApp database files from an Android device there are several options. Two of them are described in this section.

Option A

WhatsApp stores all messages in SQLite databases in the app directory /data/data/com.whatsapp/. These can be downloaded to a computer using adb, e.g. when the Android device is booted to a recovery such as TWRP (or when the device is rooted). Copy all WhatsApp files to the local directory my_WhatsApp using the following command.

adb pull /data/data/com.whatsapp/ my_WhatsApp/

The directory my_WhatsApp now contains the following relevant files:

  • com.whatsapp/databases/msgstore.db: The database for storing all messages.
  • com.whatsapp/databases/wa.db: The database for storing contacts.

Option B

It is also possible to decrypt a WhatsApp backup file. These backups are generated by WhatsApp and can be found in the publicly accessible device storage (e.g. sdcard0/WhatsApp/Databases/msgstore.db.crypt12). Obviously, the decryption key (which is stored in the app's private storage) is still required. The tool WhatsApp-Crypt12-Decrypter can be used to decrypt a backup file:

python3 decrypt12.py key msgstore.db.crypt12 msgstore.db

License

This project is licensed under the GNU General Public License v3.0.

This project is not endorsed or certified by WhatsApp Inc.

About

A python script for extracting WhatsApp conversations from the app's SQLite database and exporting them as HTML or txt files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 68.1%
  • CSS 18.7%
  • JavaScript 8.6%
  • HTML 4.6%