Skip to main content

Convert your Signal backup to pretty HTML

Project description

signal2html: Convert Signal backups to pretty HTML

build PyPI version Downloads

This is a Python script to convert a backup of Signal messages to pretty HTML:


My phone was getting full and I wanted to preserve my Signal messages in a nice way.


  1. Install this package using pip:

    $ pip install signal2html
  2. Next, clone and compile signalbackup-tools as follows:

    $ git clone
    $ cd signalbackup-tools
    $ bash

    This should give you a signalbackup-tools executable script.

  3. Create an encrypted backup of your Signal messages in the app (Settings -> Chats and Media -> Create backup), and transfer this to your computer. Make sure to record the encryption password.

  4. Unpack your encrypted backup using signalbackup-tools as follows:

    $ mkdir signal-backup/
    $ signalbackup-tools signal-YYYY-MM-DD-HH-MM-SS.backup <PASS> --output signal_backup/

    where you replace signal-YYYY-MM-DD-HH-MM-SS.backup with the actual filename of your Signal backup and <PASS> with the 30-digit encryption password (without spaces).

  5. Now, run signal2html on the backup directory, as follows:

    $ signal2html -i signal_backup/ -o signal_html/

    This will create a HTML page for each of the message threads in the signal_html directory, which you can subsequently open in your browser.


This is a hastily-written script that has only been tested on a few Signal database versions. I hope it works on other backup versions as well, but if you encounter any issues please submit a pull request.

See the LICENSE file for licensing details and copyright.

Please be aware that Signal messages are encrypted for a reason, and your contacts may use it specifically because it provides significant privacy. By exporting and decrypting your messages, you should take responsibility for maintaining this same level of privacy (for instance by only storing the plaintext messages on encypted volumes/drives).

Originally written by Gertjan van den Burg. See the contributors file for a full list of all contributors.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

signal2html-0.2.11.tar.gz (26.0 kB view hashes)

Uploaded source

Built Distribution

signal2html-0.2.11-py3-none-any.whl (27.6 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page