Skip to content

Mattermost Archiver Plugin — User Guide

This plugin lets you export messages you can access in Mattermost into a ZIP file.

It supports:

  • Export the current channel (via a channel header button)
  • Export a multi-channel archive (via a picker modal)

No export option?

Export of teams and channels is only activated for team and channel admins. Direct and group messages can be exported by people involved in the conversation.


Privacy Note

Treat exported ZIPs as sensitive data (they may contain confidential messages, files and privacy related information).

1) Export the current channel

Available for team and channel admins. Direct and group messages can be exported by members of the channel.

  1. Open the channel you want to export.
  2. Click Export channel archive in the channel header.
  3. Configure options in the export picker (date range, attachments, HTML view, …).
  4. Click Download.

Screenshot: channel header with “Export channel archive”


2) Export this team

Available for team admins.

  1. Open the Team menu of any of your teams you have access to (top-left).
  2. Click Export this team.
  3. In the picker, select one or more channels.
  4. Choose export options.
  5. Click Download.

Screenshot: main menu item “Export this team”

Screenshot: picker with channel list


3) Export options (what they mean)

Date range

  • From: first day to include (inclusive, UTC)
  • To: last day to include (inclusive, UTC)

Tip: If your export is very large or slow, narrow the date range.

Attachments

  • When enabled, the ZIP includes uploaded files under a files/ folder.
  • The system admin can disable attachments entirely, and can enforce a maximum size per file.
  • If some files are skipped due to the size limit, the ZIP includes skipped_attachments.json describing what was omitted.

Human-readable format (HTML)

When enabled, the export includes a human-friendly HTML view you can open locally.

  • Single page: one HTML file per channel (no chunk files). This format might not be ideal for very long channels. But it is suitable for “find in page” search.
  • Paginated: multiple static HTML pages (Newer/Older navigation)
  • Lazy loading: an offline viewer that loads older messages as you scroll. Lazy mode generates a chunks/ folder inside the ZIP (this is expected for lazy mode)

Machine-readable format (JSON)

If the system admin allows it, you may see a checkbox like Machine-readable format (JSON). You can choose between two formats:

  • Multiple channel-specific files (JSON/NDJSON) creates separate channel, post, and thread files for custom processing.
  • One global Mattermost migration file (JSONL) creates mattermost-import.jsonl, structured for loading all selected content into another Mattermost instance. However, we do not guarantee that it can be imported directly into a new Mattermost instance without any additional modifications. It is up to you to continue from this point.

Both JSON outputs cover the same selected channels and messages. Only the file structure and intended use differ.

What you’ll see in the ZIP depends on which export you run:

  • Channel-specific files, single-channel export: channel.json, posts.json, threads.json
  • Channel-specific files, multi-channel export: index.json, per-channel channel.json, posts.ndjson, and threads.ndjson
  • Global migration file: root-level mattermost-import.jsonl for both export kinds

4) What’s inside the ZIP

Single-channel export

Typical contents:

  • index.html (when Human-readable format (HTML) is selected)
  • files/… (optional)
  • skipped_attachments.json (only if a max-size limit is enabled and some files were skipped)
  • channel.json, posts.json, threads.json (when Multiple channel-specific files (JSON/NDJSON) is selected)
  • mattermost-import.jsonl (when One global Mattermost migration file (JSONL) is selected)

Multi-channel export

Typical contents:

  • index.html (when Human-readable format (HTML) is selected; entry point)
  • One folder per selected channel containing:
  • index.html (when Human-readable format (HTML) is selected)
  • files/… (optional)
  • channel.json, posts.ndjson, threads.ndjson (when Multiple channel-specific files (JSON/NDJSON) is selected)
  • skipped_attachments.json (only if a max-size limit is enabled and some files were skipped)
  • index.json (when Multiple channel-specific files (JSON/NDJSON) is selected)
  • mattermost-import.jsonl at the ZIP root (when One global Mattermost migration file (JSONL) is selected)

5) Opening the HTML export

  1. Ensure Human-readable format (HTML) was selected, then unzip the archive.
  2. Open the HTML entry point in a browser:

  3. Single-channel export: open index.html

  4. Multi-channel export: open index.html

Tip: For lazy-loading HTML exports, keep the entire folder structure (including chunks/) together.


6) Troubleshooting

“Export failed: 401 unauthorized”

You are not logged in (or your session expired). Refresh Mattermost and try again.

“Export disabled” / “forbidden”

Access is restricted to certain roles. Team exports are limited to team admins and channel exports in teams are limited to both channel and team admins. Direct and group messages outside of teams can be archived by members of the conversation.

If your team or channel has no available admin please contact us via support@hifis.net.

The export option isn’t visible

  • The plugin feature may be disabled for your account.
  • In some environments, UI placement can vary by Mattermost version.

The ZIP is huge / slow to download

  • Narrow the date range.
  • Disable attachments.
  • Consider Paginated or Lazy HTML for very large channels.