{"id":13686645,"url":"https://github.com/rusq/slackdump","last_synced_at":"2026-02-12T11:09:09.144Z","repository":{"id":37010488,"uuid":"423075524","full_name":"rusq/slackdump","owner":"rusq","description":"Save or export your private and public Slack messages, threads, files, and users locally without admin privileges.","archived":false,"fork":false,"pushed_at":"2025-04-06T12:21:36.000Z","size":7597,"stargazers_count":1850,"open_issues_count":10,"forks_count":84,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-06T12:29:50.795Z","etag":null,"topics":["archive","backup","channels","dump","dumper","mattermost","migration-tool","slack","slack-exports","slackdump"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rusq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"rusq","ko_fi":"rusq_","patreon":"rusq_nz"}},"created_at":"2021-10-31T06:51:23.000Z","updated_at":"2025-04-05T03:43:34.000Z","dependencies_parsed_at":"2024-01-26T03:27:16.839Z","dependency_job_id":"24f1aba4-c154-4a42-b40c-5a43c839baf9","html_url":"https://github.com/rusq/slackdump","commit_stats":{"total_commits":1211,"total_committers":17,"mean_commits":71.23529411764706,"dds":0.03220478943022298,"last_synced_commit":"f0af85ae948fcf764595698359971c6019a212f5"},"previous_names":[],"tags_count":91,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rusq%2Fslackdump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rusq%2Fslackdump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rusq%2Fslackdump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rusq%2Fslackdump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rusq","download_url":"https://codeload.github.com/rusq/slackdump/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248293921,"owners_count":21079750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archive","backup","channels","dump","dumper","mattermost","migration-tool","slack","slack-exports","slackdump"],"created_at":"2024-08-02T15:00:36.660Z","updated_at":"2026-02-12T11:09:09.139Z","avatar_url":"https://github.com/rusq.png","language":"Go","funding_links":["https://github.com/sponsors/rusq","https://ko-fi.com/rusq_","https://patreon.com/rusq_nz"],"categories":["Go"],"sub_categories":[],"readme":"# Slack Dumper\n\nPurpose:  archive your private and public Slack messages, users, channels,\nfiles and emojis.  Generate Slack Export without admin privileges.\n\n[![Slackdump screenshot](doc/slackdump.webp)](https://github.com/rusq/slackdump/releases/)\n\n**Quick links**:\n\n- [Installation And Quickstart](#installation-and-quickstart)\n- [Join the discussion in Telegram](https://t.me/slackdump).\n- [Buy me a cup of tea](https://ko-fi.com/rusq_), or use **GitHub Sponsors**\n  button on the top of the page.\n- [![Go reference](https://pkg.go.dev/badge/github.com/rusq/slackdump/v3.svg)][godoc]\n- How to's:\n\n  - [Mattermost migration][mmost] steps\n  - [SlackLogViewerとSlackdumpを一緒に使用する](https://kenkyu-note.hatenablog.com/entry/2022/09/02/090949)\n  - [v1 Overview on Medium.com](https://medium.com/@gilyazov/downloading-your-private-slack-conversations-52e50428b3c2)  (outdated)\n\n[godoc]: https://pkg.go.dev/github.com/rusq/slackdump/v3/\n[mmost]: doc/usage-export.rst\n\n\n\u003e [!WARNING]\n\u003e # Enterprise Workspaces Security Alerts\n\u003e\n\u003e Depending on your Slack plan and security settings, using Slackdump may\n\u003e trigger Slack security alerts and/or notify workspace administrators of\n\u003e unusual or automated access/scraping attempts.\n\u003e \n\u003e You are responsible for ensuring your use complies with your organisation’s\n\u003e policies and Slack’s terms of service.\n\n## Description\n\nTypical use scenarios:\n\n* archive your private conversations from Slack when the administrator\n  does not allow you to install applications OR you don't want to use\n  potentially privacy-violating third-party tools,\n* archive channels from Slack when you're on a free \"no archive\" subscription,\n  so you don't lose valuable knowledge in those channels,\n* create a Slack Export archive without admin access, or\n* save your favourite emojis.\n\nThere are several modes of operation\n\n1. List users/channels\n1. Dumping messages and threads\n1. Creating a Slack Export in Mattermost or Standard modes.\n1. Creating an Archive\n1. Emoji download mode.\n1. Viewing export, dump or archive files or directories (displays images).\n1. Search mode (messages and files).\n\nRun `slackdump help` to see all available options:\n\n## Installation and Quickstart\n\nOn macOS, you can install Slackdump with Homebrew:\n\n```shell\nbrew install slackdump\n```\n\nOn other Operating Systems, please follow these steps:\n\n1. Download the latest release for your operating system from the [releases] page.\n1. Unpack the archive to any directory.\n1. Run the `./slackdump` or `slackdump.exe` executable (see note below).\n1. You know the drill:  use arrow keys to select the menu item, and Enter (or\n   Return) to confirm.\n1. Follow these [quickstart instructions][man-quickstart].\n\n[releases]: https://github.com/rusq/slackdump/releases/\n\n\u003e [!NOTE] \n\u003e On Windows and macOS you may be presented with \"Unknown developer\" window,\n\u003e this is fine.  Reason for this is that the executable hasn't been signed by\n\u003e the developer certificate.\n\n  To work around this:\n\n  - **on Windows**: click \"more information\", and press \"Run\n    Anyway\" button.\n  - **on macOS** 14 Sonoma and prior:  open the folder in Finder, hold Option\n    and double click the executable, choose Run.\n  - **on macOS** 15 Sequoia and later:  start the slackdump, OS will show the\n    \"Unknown developer\" window, then go to System Preferences -\u003e Security and\n    Privacy -\u003e General, and press \"Open Anyway\" button.\n\n### Getting Help\n\n- Quickstart guide: `slackdump help quickstart`, read [online][man-quickstart].\n- Generic command overview: `man ./slackdump.1`\n- [Ez-Login 3000](https://github.com/rusq/slackdump/wiki/EZ-Login-3000) Guide.\n- V2 to V3 migration notes: `slackdump help v2migrate`, read [online][man-v2migrate].\n- What's new in V3: `slackdump help whatsnew`, read [online][man-changelog].\n\n[man-quickstart]: https://github.com/rusq/slackdump/blob/master/cmd/slackdump/internal/man/assets/quickstart.md\n[man-v2migrate]: https://github.com/rusq/slackdump/blob/master/cmd/slackdump/internal/man/assets/v2migr.md\n[man-changelog]: https://github.com/rusq/slackdump/blob/master/cmd/slackdump/internal/man/assets/changelog.md\n\n## Running Slackdump from a Repo Checkout\n\nIf you've cloned the repository and want to run slackdump directly without downloading a release, you can do one of the following:\n\n1. **Build and run** (creates an executable):\n   ```shell\n   go build -o slackdump ./cmd/slackdump\n   ./slackdump wiz\n   ```\n\n2. **Run directly**:\n   ```shell\n   go run ./cmd/slackdump wiz\n   ```\n\nNote: You need Go installed on your system (see `go.mod` for the version)\n\n\n## Slackord2: Migrating to Discord\n\nIf you're migrating to Discord, the recommended way is to use\n[Slackord2](https://github.com/thomasloupe/Slackord2) — a great tool with a\nnice GUI, that is compatible with the export files generated by Slackdump.\n\n## User Guide\n\nFor more advanced features and instructions, please see the [User Guide][ug],\nand read `slackdump help` pages.\n\n# Previewing Results\n\nOnce the workspace data is dumped, you can run built-in viewer:\n\n```shell\nslackdump view \u003czip or directory\u003e\n```\n\nThe built-in viewer supports all types of dumps:\n\n1. Slackdump Archive format;\n1. Standard and Mattermost Slack Export;\n1. Dump mode files\n  \nThe built-in viewer is experimental, any contributions to make it better looking are welcome.\n\nAlternatively, you can use one of the following tools to preview the\nexport results:\n\n- [SlackLogViewer] - a fast and powerful Slack Export viewer written in C++, works on Export files (images won't be displayed, unless you used an export token flag).\n- [Slackdump2Html] - a great Python application that converts Slack Dump to a\n  static browsable HTML.  It works on Dump mode files.\n- [slack export viewer][slack-export-viewer] - Slack Export Viewer is a well known viewer for\n  slack export files. Supports displaying files if saved in the \"Standard\" file mode.\n\n[SlackLogViewer]: https://github.com/thayakawa-gh/SlackLogViewer/releases\n[Slackdump2Html]: https://github.com/kununu/slackdump2html\n[slack-export-viewer]: https://github.com/hfaran/slack-export-viewer\n\n\n## Using as a library\n\nDownload:\n\n```shell\ngo get github.com/rusq/slackdump/v3\n```\n\n\n### Example\n\n```go\npackage main\n\nimport (\n  \"context\"\n  \"log\"\n\n  \"github.com/rusq/slackdump/v2\"\n  \"github.com/rusq/slackdump/v2/auth\"\n)\n\nfunc main() {\n  provider, err := auth.NewValueAuth(\"xoxc-...\", \"xoxd-...\")\n  if err != nil {\n      log.Print(err)\n      return\n  }\n  sd, err := slackdump.New(context.Background(), provider)\n  if err != nil {\n      log.Print(err)\n      return\n  }\n  _ = sd\n}\n```\n\nSee [Package Documentation][godoc].\n\n### Using Custom Logger\nSlackdump uses a \"log/slog\" package, it defaults to \"slog.Default()\".  Set the\ndefault slog logger to the one you want to use.\n\nIf you were using `logger.Silent` before, you would need to\n[implement][slog-handler-guide] a discarding [Handler][godoc-slog-handler] for slog.\n\n[slog-handler-guide]: https://github.com/golang/example/blob/master/slog-handler-guide/README.md\n[godoc-slog-handler]: https://pkg.go.dev/log/slog#Handler\n\n## FAQ\n\n#### Do I need to create a Slack application?\n\nNo, you don't.  Just run the application and EZ-Login 3000 will take\ncare of the authentication or, alternatively, grab that token and\ncookie from the browser Slack session.  See [User's Guide][ug].\n\n#### I'm getting \"invalid_auth\" error\n\nRun `slackdump workspace new \u003cname or url\u003e` to reauthenticate.\n\n#### How to read the export file?\n\n```shell\nslackdump view \u003cZIP-archive or directory\u003e\n```\n\n#### My Slack Workspace is on the Free plan.  Can I get data older than 90-days?\n\nNo, unfortunately you can't.  Slack doesn't allow to export data older than 90\ndays for free workspaces, the API does not return any data before 90 days for\nworkspaces on the Free plan.\n\n#### What's the difference between \"archive\", \"export\" and \"dump\"?\n\n\"Archive\" is the new format introduced in v3, it minimises the memory use\nwhile scraping the data and also has a universal structure that can be\nconverted into export and dump formats at will by using the \"convert\" command.\n\n\"Export\" format aims to replicate the files generated when exporting a Slack\nworkspace for compatibility.\n\n\"Dump\" format has one channel per file, there's no workspace information nor\nany users stored.  Should it be required, one must get users and channels by\nrunning `slackdump list` command.\n\nBehind the scenes slackdump always uses the \"archive\" file format for all\noperations except \"emoji\" and \"list\", and converts to other formats on the\nfly, removing the temporary archive files afterwards.\n\n## Thank you\nBig thanks to all contributors, who submitted a pull request, reported a bug,\nsuggested a feature, helped to reproduce, or spent time chatting with me on\nthe Telegram or Slack to help to understand the problem or feature and tested\nthe proposed solution.\n\nSee CONTRIBUTORS.md for the full list of contributors.\n\nAlso, I'd like to thank current sponsors:\n\n- [\u003cimg class=\"avatar avatar-user\" src=\"https://avatars.githubusercontent.com/u/9138285?s=60\u0026amp;v=4\" width=\"30\" height=\"30\" alt=\"@malsatin\"\u003e](https://github.com/malsatin) @malsatin\n- [\u003cimg class=\"avatar avatar-user\" src=\"https://avatars.githubusercontent.com/u/836183?s=60\u0026amp;v=4\" width=\"30\" height=\"30\" alt=\"@angellk\"\u003e](https://github.com/angellk) @angellk\n\nAnd everyone who made a donation to support the project in the past and keep\nsupporting the project:\n\n- Davanum S.\n- Vivek R.\n- Fabian I.\n- Ori P.\n- Shir B. L.\n- Emin G.\n- Robert Z.\n- Sudhanshu J.\n\n# Bulletin Board\n\nMessages that were conveyed with the donations:\n\n- 25/01/2022: Stay away from [TheSignChef.com][glassdoor], ya hear, they don't\n  pay what they owe to their employees.\n\n[glassdoor]: https://www.glassdoor.com/Reviews/The-Sign-Chef-Reviews-E1026706.htm\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frusq%2Fslackdump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frusq%2Fslackdump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frusq%2Fslackdump/lists"}