Chat Extractor for Signal is a Linux app for extracting selected chats from Signal Desktop exports as Markdown or JSON, with optional media.
This independent project is not affiliated with Signal Messenger LLC.
- Selects one or more chats, with name filtering and sorting.
- Exports an inclusive date range.
- Writes Markdown or JSON as separate files or one combined file.
- Optionally copies referenced media alongside the export.
For 64-bit Intel/AMD Debian or Ubuntu, download chatextractor_0.1.0-1_amd64.deb. Open the downloaded file with your package installer, or run this in its folder:
sudo apt install ./chatextractor_0.1.0-1_amd64.debThen open Chat Extractor for Signal from the applications menu.
In Signal Desktop, open Settings → Chats → Export chat history, choose a folder, and wait for completion.
- Follow the guide to export chat history from Signal Desktop.
- Select the export folder;
main.jsonlis found automatically. - Filter, sort, and select chats.
- Set the inclusive date range, files, and format, then select Export. One output opens a Save chooser; multiple files open a folder chooser.
Media goes in a sibling <output-name>-media folder. Combined exports use numbered media subfolders to prevent name collisions. Single or separate files default to <chat-name>-YYYY-MM-DD; combined files use N-conversations-YYYY-MM-DD. Save suggestions are editable; separate files use each chat name and last-message date.
Building requires Rust, GTK 4.8 development files, pkg-config, and xvfb-run
for GTK tests. On Debian or Ubuntu:
sudo apt install libgtk-4-dev pkg-config xvfb
make build
./dist/chatextractorProject checks:
make test
make lint
make audit
make source-audit
make validate-packageFree as Air Licence — CC0 1.0 Universal. No copyright, restrictions, or attribution required.