Slack Thread to PDF: Export Conversations Cleanly (2026)

Slack thread exported to PDF illustration
Archive incident threads, design decisions, and contractor chats from Slack.

Slack is a great place for conversations and a bad place for records. Once a thread scrolls off the visible channel, finding it again is hit-or-miss β€” and on free workspaces, messages older than 90 days are hidden entirely. This guide walks through three ways to save a Slack thread as a clean PDF: a fast manual path, a higher-fidelity JSON export, and a workflow for incident postmortems.

Why save Slack threads as PDF?

Method 1: Copy-paste β†’ Markdown (fastest)

For a single thread under ~200 messages, copy-paste is fine and the output is excellent.

  1. Open the thread in Slack (click the message β†’ "View thread").
  2. Scroll to the top of the thread so all messages render.
  3. Select from the first message to the last and copy.
  4. Paste into to-pdf.com/markdown-to-pdf.
  5. Add a title at the top: # #incident-2026-05-10 β€” Slack thread.
  6. Tidy: sender names usually paste as bold. If they don't, prefix each line with **Name (10:14):** manually.
  7. Click Download PDF.

Code blocks survive the paste (Slack uses triple-backticks under the hood), so syntax highlighting works automatically.

Method 2: Slack Export β†’ JSON β†’ PDF (best fidelity)

Workspace admins can export entire channels as JSON. The export contains timestamps, user IDs, message edits, reactions, and threading metadata β€” a complete record.

  1. Workspace admin: Settings & administration β†’ Workspace settings β†’ Import/Export Data β†’ Export.
  2. Wait for the email with the zip and download it.
  3. Inside, channels are folders with one JSON file per day. Find the thread you want.
  4. Open to-pdf.com/data-to-pdf (or paste into JSON to PDF).
  5. Drop in the JSON. The tool pretty-prints with syntax highlighting and paginates cleanly.
  6. Click Download PDF.

For a more human-readable version, run the JSON through a small script that maps user IDs to names and emits Markdown, then convert. A 20-line script beats hand-cleaning the JSON every time.

Method 3: Postmortem-style PDF (for handoffs)

For incident or decision threads you want to send outside the company, a tidy narrative is worth the extra 10 minutes:

  1. Copy the thread per Method 1.
  2. In the Markdown editor, group the messages by phase: Detection, Diagnosis, Mitigation, Resolution.
  3. Add timestamps and a brief intro paragraph.
  4. Convert to PDF. The output reads like a real postmortem, sourced from the original chat.

Common pitfalls and how to avoid them

User mentions showing as @U03A2... codes

The JSON export uses user IDs, not display names. Run a quick find-and-replace in the Markdown editor (mappings are in the export's users.json), or write a 20-line script to translate before conversion.

File attachments showing as URLs only

The export references uploaded files but doesn't inline them. Download key attachments separately and append them with combine files to PDF.

Emoji reactions missing from the PDF

Copy-paste drops reactions. JSON keeps them. If reactions are load-bearing (e.g., approvals via βœ…), use Method 2.

Code blocks wrapping ugly

Slack wraps long lines at the channel width, not at character count. Before converting, soft-wrap code at 80 chars in the Markdown editor β€” or use a smaller font in the PDF settings.

Privacy: the thread stays on your machine

Both Markdown-to-PDF and Data-to-PDF run locally. The conversation never goes to a third-party converter β€” important for incident threads, customer DMs, and anything covered by an NDA. Open DevTools β†’ Network while you click Download PDF; you won't see an upload.

Related guides

Open Markdown to PDF Converter