Slackdump: export Slack messages without admin rights
Save or export your private and public Slack messages, threads, files, and users locally without admin privileges.
At a glance
- What is it?
- Slackdump is a Go command line tool that archives public and private Slack conversations, files and users locally, and writes them out as a Slack Export. It is for people who cannot or will not install an admin-approved app, and it is honest about the fact that scraping can trip workspace security alerts.
- Who is it for?
- Slackdump suits anyone who needs a local copy of conversations they can already read in Slack: free-workspace users facing a 90-day history limit, people leaving an organisation, and anyone who wants an archive file rather than a third-party service holding their messages. It is the wrong tool if you need to bulk delete messages, if you want a hosted backup that runs without you, or if your workspace policy forbids automated access.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 7 days ago.
- What is it written in?
- Mainly Go, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The problem Slackdump targets: your own history behind an admin wall
Slack holds conversations that people treat as documentation, and the ways to get them out are gated. Workspace owners get an admin export. Everyone else gets a scrolling window and, on free plans, a 90-day limit on how far back that window reaches. The README lists the scenarios the author had in mind: archiving private conversations when the administrator does not allow application installs, archiving channels on a free no-archive subscription so knowledge is not lost, producing a Slack Export without admin access, and building incremental archives for workspaces with 90-day limits. Saving custom emojis is on the list too, which tells you the scope is deliberately broader than messages.
The audience follows from that. This is a tool for an individual with an existing Slack session, not for an IT department provisioning backups. It runs on your machine, writes to your disk, and needs no OAuth app install, which is exactly why it works where an admin-installed integration would not. The README is also explicit that this cuts both ways: depending on your Slack plan and security settings, using Slackdump may trigger Slack security alerts or notify workspace administrators of unusual or automated access attempts, and it points readers at a separate Enterprise Workspace Tips document. That warning is the most important sentence on the page, and it is placed before the description rather than buried at the bottom.
How Slackdump works: session credentials in, archive files out
Slackdump is a Go program that talks to Slack as your logged-in session rather than as an installed app. The repository layout shows the shape of it: top-level files for each object type (channels.go, messages.go, users.go, thread.go, emoji.go), a source/ package that abstracts where data comes from, a stream/ package, a processor/ package, and separate downloader/ and export/ directories. The go.mod file lists github.com/rusq/slack, a fork of the Slack API client, plus browser automation dependencies (go-rod and playwright-go) and utls, which suggests the login path can drive a real browser rather than only a token flow. The README links an Ez-Login 3000 wiki guide for that part.
Output is not one format. The README enumerates several modes of operation: listing users and channels, dumping messages and threads, creating a Slack Export in Standard or Mattermost mode, creating an archive as a SQLite database or as json+gz, converting an archive to other formats, downloading emojis, viewing results, searching messages and files, and resuming a previous archive to append new messages. Storage is local throughout. The SQLite dependency (modernc.org/sqlite) is the pure-Go build, so the binary does not need cgo, which matches the Dockerfile setting CGO_ENABLED=0.
That combination is the design bet: a single static binary that can authenticate like a person, store like a database, and emit like an official export.
Installing Slackdump and running a first export
On macOS the README gives a Homebrew path. On other systems it says to download the latest release for your operating system, unpack the archive, and run the executable. The README notes that Windows and macOS may show an "Unknown developer" prompt because the binary is not signed, and gives the workaround for each: on Windows, click more information and press Run Anyway; on macOS 15 Sequoia and later, start it, then go to System Preferences, Security and Privacy, General, and press Open Anyway.
brew install slackdumpIf you prefer to build from a checkout, the README gives two options. The first produces a binary, the second runs the wizard directly. Both need Go installed, with the version pinned in go.mod.
go build -o slackdump ./cmd/slackdump
./slackdump wizgo run ./cmd/slackdump wizThe `wiz` subcommand is the entry point the README shows for a repo checkout, and the release instructions tell you to use arrow keys and Enter to pick a menu item before following the quickstart guide. For a first real run, the wizard handles workspace selection and the archive type. Once you have an archive on disk, the built-in viewer is the fastest way to confirm it worked.
slackdump view <zip or directory>If you want something you can open in a browser without Slackdump installed, the README documents a conversion step that writes static HTML.
slackdump convert -f html -o my_html_archive <zip or directory>There is a Dockerfile in the repository that builds the binary and runs it as a non-root `slackdump` user with `/work` as the working directory, so a container run needs a volume mounted at `/work` if you want the output to survive the container.
The security-alert warning is not boilerplate
Most archiving tools put a licence note at the bottom. Slackdump puts a warning block at the top, and it is worth reading literally: depending on your Slack plan and security settings, using it may trigger Slack security alerts or notify workspace administrators of unusual or automated access attempts. The README states that you are responsible for ensuring your use complies with your organisation's policies and Slack's terms of service, and links a separate Enterprise Workspace Tips document.
That is a real limitation with a practical consequence. On a workspace that monitors for scraping, a large archive run is visible to someone. If your reason for using Slackdump is that you would rather not ask an administrator, the tool does not guarantee you avoid the conversation; it only avoids the application-install approval step. The README is unusually direct about this rather than implying the tool is invisible.
The second limitation is scope. Slackdump reads what your session can already read. It is not a recovery tool for messages you cannot see, and nothing in the README suggests it retrieves data outside your own access. If a channel is private and you are not in it, there is no mode that changes that.
Where Slackdump is the wrong tool
The README's own framing rules out several jobs. It archives and exports; it does not delete. Anyone searching for bulk deletion of Slack messages is looking at a different category of tool, and the listed modes (list, dump, export, archive, convert, emoji, view, search, resume, MCP server, database tools) contain no deletion path. The database tools are `slackdump tools merge/dedupe/cleanup`, and cleanup refers to unfinished sessions, not to removing messages from Slack.
It is also the wrong tool if you want a backup that runs without you. Slackdump is a CLI you invoke, and the README describes resuming a previous archive to add new messages, which implies you schedule that yourself. There is no service component in the repository layout.
Finally, consider the licence before embedding it. Slackdump is AGPL-3.0. Using it locally to archive your own workspace is the ordinary case the authors describe. Shipping a modified Slackdump inside a product, or offering it as a network service, brings the AGPL's source-availability conditions into play, and that is a question for your own legal review rather than something the README answers.
Slackdump versus the official Slack export and the viewer ecosystem
The obvious alternative is Slack's own export, and the difference is access, not format. An admin export requires admin rights and produces a workspace-wide archive. Slackdump produces a compatible export from a normal session, which is why the README frames it as generating a Slack Export without admin privileges. If you have admin rights and want everything, the official path is simpler and carries no security-alert risk. If you do not, or you want only the channels you care about, Slackdump is the one that runs.
For viewing, the README names three external tools rather than pretending the built-in viewer covers everything. SlackLogViewer is a C++ Slack Export viewer that the README says works on export files but will not display images unless an export token flag was used. Slackdump2Html is a Python application that converts dump-mode files to static browsable HTML. slack-export-viewer is the well-known Python viewer for export files and supports displaying files when saved in Standard file mode. Slackdump's own `view` command handles all dump types and displays images, and `convert -f html` produces a static archive with no external dependency. The honest reading: use the built-in viewer for a quick check, and reach for the external tools when you want a specific browsing experience or a format Slackdump does not emit.
For migration, the README points to Slackord2 for moving to Discord, describing it as GUI-based and compatible with the export files Slackdump generates. That is a cleaner division of labour than asking an archiver to also be a migrator.
Maintenance, release cadence and what to verify before trusting an archive
The repository is not archived, and the last push was on 2026-09-24. Recent releases are v4.4.5 on 2026-09-14, v4.4.4 on 2026-08-19 and v4.4.3 on 2026-08-13. That is a maintained project with a steady patch cadence, and the versioned import path in go.mod (github.com/rusq/slackdump/v4) means the Go module follows semantic versioning at the major level.
Upgrade cost is low for a CLI: download the new release, or `brew upgrade slackdump`, and existing archives remain readable because the viewer and converter accept archives, exports and dump directories. The riskier upgrade is the reverse direction, opening an archive written by a newer version with an older binary, which is not something the README documents.
Verification is the part people skip. After a run, open the result with `slackdump view` and confirm that a channel you know is long actually reaches back as far as you expect, and that file attachments appear. The README's note that images are not displayed by SlackLogViewer unless an export token flag was used is a reminder that file handling depends on the mode you chose, so check the mode before assuming an empty attachment column means the archive is broken. On the licence side, AGPL-3.0 is a copyleft licence with network-use terms; running Slackdump to archive your own workspace is not the case it targets, but redistributing a modified build is, and that determination belongs with your legal team.
Editorial conclusion
Slackdump suits anyone who needs a local copy of conversations they can already read in Slack: free-workspace users facing a 90-day history limit, people leaving an organisation, and anyone who wants an archive file rather than a third-party service holding their messages. It is the wrong tool if you need to bulk delete messages, if you want a hosted backup that runs without you, or if your workspace policy forbids automated access. Before relying on it, check the Enterprise Workspace Tips page for the security-alert warning, confirm that `slackdump view` opens the archive you produced, and read the AGPL-3.0 licence terms if you plan to redistribute a modified build.
Frequently asked questions
Is Slackdump safe to use?
The README states that depending on your Slack plan and security settings, using Slackdump may trigger Slack security alerts or notify workspace administrators of unusual or automated access attempts, and that you are responsible for complying with your organisation's policies and Slack's terms of service. It also points to a separate Enterprise Workspace Tips document.
How do I use Slackdump?
Install it with Homebrew on macOS or download the release for your operating system, run the binary, and pick a menu item with the arrow keys and Enter before following the quickstart guide. The README also shows `slackdump help quickstart` and a wizard invoked as `slackdump wiz` when running from a repo checkout.
What is Slackdump?
It is a tool that archives private and public Slack messages, users, channels, files and emojis, and generates a Slack Export without admin privileges. The README describes modes for dumping messages and threads, creating archives as SQLite or json+gz, converting archives, downloading emojis, viewing and searching results, and resuming an existing archive.
Can I export an entire Slack conversation with Slackdump?
Slackdump dumps messages and threads and can create a Slack Export in Standard or Mattermost mode, and it can resume a previous archive to add new messages. What it reaches is bounded by the access of the session you authenticate with, since it works without admin privileges rather than through a workspace-wide admin export.
Can I bulk delete Slack messages with Slackdump?
No. The README lists archiving, exporting, converting, viewing, searching, emoji download and database tools for merging, deduplicating and cleaning up unfinished sessions. There is no deletion mode.
Can my boss see deleted Slack messages?
The README does not address deleted messages or what workspace administrators can see. It does warn that using Slackdump may trigger Slack security alerts or notify workspace administrators of unusual or automated access attempts, depending on your Slack plan and security settings.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/rusq-slackdump)