How to Move Your Slack Archive to Discord

Slack puts a paywall in front of features that Discord offers for free. Here’s how to make the leap—and keep your archive, too.
3D rendering of a filing cabinet with documents emerging from a laptop screen
Illustration: AntonioSolano/Getty Images

The free version of Slack is limited to just three months of messages, but Discord doesn’t have that limit. Even better, you can move all of your Slack messages—including those older than three months—over to Discord.

Slack is great for companies, but less so for groups of friends and online communities. That’s because access to messages older than three months, and all sorts of other features, are only available if you pay $7.25 per user per month, which adds up quickly if you just want a chatroom for your friends. I wrote last year about how to get Slack’s best features for free, the conclusion of which was basically “use Discord instead.” That’s because Discord’s free version offers almost all of the features Slack puts behind a paywall.

If you have a long history of messages in Slack and want to take that history with you, here’s how. The process is a little janky and works best if you have a Windows computer, but it works. To summarize: You need to download your Slack archive, set up a Discord bot, then get the Discord bot to grab and copy all posts from a channel. Let’s jump in.

Export Your Slack Archive
Slack via Justin Pot

First you will need to export your Slack archive. To do this, you need to be an admin for the Slack you want to export. In Slack, click the name of your Slack in the top-left corner, hover over Settings & administration, then click Workplace settings. This will open the Settings & Permissions page in your browser, where you will see an Import/Export Data button.

Click that, then click the Export tab. Select the date range you want to download, and click Start Export. The export process could take anywhere from a few minutes to a couple of hours, depending on how big your Slack archive is. You will get a Slackbot DM when it’s done, though, so don’t feel like you need to leave the window open. When it’s ready, the archive will be a ZIP file, which you should unarchive.

Build a Bot
Discord via Justin Pot

Now it’s time to set up Slackord. This free application can connect to a Discord bot, parse the archives we just downloaded, and paste them into any Discord channel. There are instructions on the GitHub page that I struggled through–what follows is my attempt to simplify things. I’m using the Windows version for this tutorial; it also works for Linux and macOS if you’re willing to use the command line.

Download Slackord. Before you open it, though, you’ll need to set up a Discord bot—here’s a link to get started. Click New Application, naming it whatever you want. Next, click the URL Generator button under OAuth2 in the left sidebar. Under Scope click Bot. The Bot permissions field will show up after you do this; click Administrator there. Next, scroll down and copy the Generated URL at the bottom of the screen—you’ll need it later.

Now head to the Bot section in the sidebar. Give the bot a custom username and icon, if you want, then make sure that Public Bot and Requires OAuth2 Code Grant are both turned off and that “Message content intent” is turned on. You will be asked if you want to save your changes—click Save. Now scroll to the top of the page and click the Reset Token button. Copy the token.

Finally, head to the URL you copied earlier. You will be asked which Discord server you want to add the bot to—choose the server you intend to migrate Slack posts over to.

Migrate Your Slack Archive
Slackord via Justin Pot

Now you can open Slackord on your computer. You will be asked for your Bot Token—paste it. If everything’s working, you should be told that “Bot connection is now enabled,” but don’t connect yet. 

Instead click File > Import JSON Folder. Browse to the Slack archive you downloaded earlier and open the folder for the channel you want to migrate. The parsing process may take a while, depending on how large the archive is. If everything is working correctly, you should see old messages scrolling before your eyes. While it’s parsing, head to Discord and make a new text channel with the same name.

When parsing is done on Slackord, click Settings > Bot Connection > Connect. This will connect—you can tell it’s working if the bot you created it shown as online in Discord. Now you can type “/slackord” in the Discord channel you want to import your channel’s archives to. If everything is set up correctly, the messages will slowly start to show up.

Repeat this process—creating a blank channel, opening the JSON folder, and running /slackord—for every channel you want to migrate. It will take a while, granted, and the results aren’t perfect. Posts are all in plaintext, and you won’t see the avatar next to them. Still, it’s a searchable archive of all your old Slack posts. Now you just need to let your friends know that it’s time to switch.