# DiscordChatExporter
[![Status ](https://img.shields.io/badge/status-maintenance-ffd700.svg )](https://github.com/Tyrrrz/.github/blob/master/docs/project-status.md)
[![Made in Ukraine ](https://img.shields.io/badge/made_in-ukraine-ffd700.svg?labelColor=0057b7 )](https://tyrrrz.me/ukraine)
[![Build ](https://img.shields.io/github/actions/workflow/status/Tyrrrz/DiscordChatExporter/main.yml?branch=master )](https://github.com/Tyrrrz/DiscordChatExporter/actions)
[![Coverage ](https://img.shields.io/codecov/c/github/Tyrrrz/DiscordChatExporter/master )](https://codecov.io/gh/Tyrrrz/DiscordChatExporter)
[![Release ](https://img.shields.io/github/release/Tyrrrz/DiscordChatExporter.svg )](https://github.com/Tyrrrz/DiscordChatExporter/releases)
[![Downloads ](https://img.shields.io/github/downloads/Tyrrrz/DiscordChatExporter/total.svg )](https://github.com/Tyrrrz/DiscordChatExporter/releases)
[![Pulls ](https://img.shields.io/docker/pulls/tyrrrz/discordchatexporter )](https://hub.docker.com/r/tyrrrz/discordchatexporter)
[![Discord ](https://img.shields.io/discord/869237470565392384?label=discord )](https://discord.gg/2SUWKFnHSm)
[![Fuck Russia ](https://img.shields.io/badge/fuck-russia-e4181c.svg?labelColor=000000 )](https://twitter.com/tyrrrz/status/1495972128977571848)
< table >
< tr >
< td width = "99999" align = "center" > Development of this project is entirely funded by the community. < b > < a href = "https://tyrrrz.me/donate" > Consider donating to support!< / a > < / b > < / td >
< / tr >
< / table >
< p align = "center" >
< img src = "favicon.png" alt = "Icon" / >
< / p >
**DiscordChatExporter** is an application that can be used to export message history from any [Discord ](https://discord.com ) channel to a file.
It works with direct messages, group messages, and server channels, and supports Discord's dialect of markdown as well as most other rich media features.
<!-- Can't use a relative link here due to a bug in markdown parsing -->
> ❔ If you have questions or issues, **please refer to the [docs](https://github.com/Tyrrrz/DiscordChatExporter/tree/master/.docs)**.
> 💬 If you want to chat, **join my [Discord server](https://discord.gg/2SUWKFnHSm)**.
## Terms of use<sup>[[?]](https://github.com/Tyrrrz/.github/blob/master/docs/why-so-political.md)</sup>
By using this project or its source code, for any purpose and in any shape or form, you grant your **implicit agreement** to all the following statements:
- You **condemn Russia and its military aggression against Ukraine**
- You **recognize that Russia is an occupant that unlawfully invaded a sovereign state**
- You **support Ukraine's territorial integrity, including its claims over temporarily occupied territories of Crimea and Donbas**
- You **reject false narratives perpetuated by Russian state propaganda**
To learn more about the war and how you can help, [click here ](https://tyrrrz.me/ukraine ). Glory to Ukraine! 🇺🇦
## Download
This application comes in two flavors: graphical user interface (**GUI**) and command-line interface (**CLI**).
The following table lists all available download options:
< table >
< thead >
< tr >
< th > < / th >
< th > Downloads< / th >
< th > Supported OS< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < b > GUI< / b > < / td >
< td >
< ul >
< li > 🟢 < b > < a href = "https://github.com/Tyrrrz/DiscordChatExporter/releases/latest" > Stable release< / a > < / b > (< code > DiscordChatExporter.zip< / code > )< / li >
< li > 🟠 < a href = "https://github.com/Tyrrrz/DiscordChatExporter/actions/workflows/main.yml" > CI build< / a > (< code > DiscordChatExporter.Gui.zip< / code > )< / li >
< / ul >
< / td >
< td >
< ul >
< li > Windows < b > 7< / b > or higher< / li >
< / ul >
< / td >
< / tr >
< tr >
< td > < b > CLI< / b > < / td >
< td >
< ul >
< li > 🟢 < b > < a href = "https://github.com/Tyrrrz/DiscordChatExporter/releases/latest" > Stable release< / a > < / b > (< code > DiscordChatExporter.Cli.zip< / code > < / li >
< li > 🟠 < a href = "https://github.com/Tyrrrz/DiscordChatExporter/actions/workflows/main.yml" > CI build< / a > (< code > DiscordChatExporter.Cli.zip< / code > )< / li >
< li > 🐋 < a href = "https://hub.docker.com/r/tyrrrz/discordchatexporter" > Docker< / a > (< code > tyrrrz/discordchatexporter< / code > )< / li >
< li > 📦 < a href = "https://aur.archlinux.org/packages/discord-chat-exporter-cli" > AUR< / a > (< code > discord-chat-exporter-cli< / code > )< / li >
< li > 📦 < a href = "https://search.nixos.org/packages?query=discordchatexporter-cli" > Nix< / a > (< code > discordchatexporter-cli< / code > )< / li >
< / ul >
< / td >
< td >
< ul >
< li > Windows < b > 7< / b > or higher< / li >
< li > macOS < b > 10.13 (High Sierra)< / b > or higher< / li >
< li > Linux (multiple distros)< / li >
< / ul >
< / td >
< / tr >
< / tbody >
< / table >
> **Important**:
> To run **DiscordChatExporter** on macOS and Linux, you need to make sure that **.NET 8.0 Runtime** is installed.
> You can download it here:
>
> - [.NET 8.0 Runtime for **macOS x64**](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-8.0.0-macos-x64-installer)
> - [.NET 8.0 Runtime for **macOS arm64**](https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-8.0.0-macos-arm64-installer)
> - [.NET 8.0 Runtime for **Linux**](https://learn.microsoft.com/dotnet/core/install/linux) (find the correct download for your distro)
>
> This should not be necessary if you install **DiscordChatExporter** using a package manager, as it should take care of the dependencies for you.
> This is also not necessary if you are running **DiscordChatExporter** via Docker, because the image already contains the runtime.
> **Note**:
> AUR and Nix packages linked above are maintained by the community.
> If you have any issues with them, please contact the corresponding maintainers.
## Features
- Graphical user interface (Windows)
- Command-line interface (Windows, Linux, macOS)
- Authentication via both user and bot tokens
- Multiple output formats: HTML (dark/light), TXT, CSV, JSON
- Support for markdown, attachments, embeds, emoji, and other rich media features
- File partitioning, date ranges, message filtering, and other export options
- Self-contained exports that don't require internet
## Screenshots
![channel list ](.assets/list.png )
![rendered output ](.assets/output.png )
## See also
- [**Chat Analytics** ](https://github.com/mlomb/chat-analytics ) — solution for analyzing chat patterns of Discord users, using exports produced by **DiscordChatExporter** .
- [**DiscordChatExporter-frontend** ](https://github.com/slatinsky/DiscordChatExporter-frontend ) — convenient viewer for exports produced by **DiscordChatExporter** .