Discord History Tracker lets you save chat history in your servers, groups, and private conversations, and view it offline.
This page explains how to use the desktop app, which is available for Windows / Linux / Mac.
If you are looking for the older version of Discord History Tracker which only needs a browser or the Discord app, visit the page for the browser-only version, however keep in mind that this version has significant limitations and fewer features.
Download the latest version of the desktop app here, or visit All Releases for older versions and release notes.
To launch the three OS-specific versions, extract the DiscordHistoryTracker executable, and double-click it.
To launch the Other version, which works on other operating systems including 32-bit versions, you must install ASP.NET Core Runtime 8. Then extract the downloaded archive into a folder, open the folder in a terminal, and type:
The app saves messages into a database file stored on your computer. When you open the app, you are given the option to create a new database file, or open an existing one.
In the Tracking tab, click Copy Tracking Script to generate a tracking script that works similarly to the browser-only version of Discord History Tracker, but instead of saving messages in the browser, the tracking script sends them to the app which saves them in the database file.
When using the script for the first time, you will see a Settings dialog where you can configure the script. These settings will be remembered as long as you don't delete cookies in your browser.
By default, Discord History Tracker is set to automatically scroll up to load the channel history, and pause tracking if it reaches a previously saved message to avoid unnecessary history loading.
In the Viewer tab, you can open a viewer in your browser, or save it as a file you can open in your browser later. You also have the option to apply filters to only view a portion of the saved messages.
-port <p> and
-token <t> command line arguments to configure the server — otherwise, it is configured automatically to allow running multiple instances of the app, and prevent reuse of the tracking script between instances.