Slack Thread to PDF: Export Conversations Cleanly (2026)
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?
- Incident postmortems. The thread that led to the fix often is the postmortem source.
- Design decisions. The "why" lives in DMs and design-channel debates more often than in Notion.
- Contractor handoffs. Off-boarding a vendor? Save the channel.
- Beat the 90-day cutoff. Free workspaces hide older messages; PDFs don't expire.
- Compliance. Finance, legal, and HR workflows often require fixed records.
Method 1: Copy-paste β Markdown (fastest)
For a single thread under ~200 messages, copy-paste is fine and the output is excellent.
- Open the thread in Slack (click the message β "View thread").
- Scroll to the top of the thread so all messages render.
- Select from the first message to the last and copy.
- Paste into to-pdf.com/markdown-to-pdf.
- Add a title at the top:
# #incident-2026-05-10 β Slack thread. - Tidy: sender names usually paste as bold. If they don't, prefix each line with
**Name (10:14):**manually. - 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.
- Workspace admin: Settings & administration β Workspace settings β Import/Export Data β Export.
- Wait for the email with the zip and download it.
- Inside, channels are folders with one JSON file per day. Find the thread you want.
- Open to-pdf.com/data-to-pdf (or paste into JSON to PDF).
- Drop in the JSON. The tool pretty-prints with syntax highlighting and paginates cleanly.
- 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:
- Copy the thread per Method 1.
- In the Markdown editor, group the messages by phase: Detection, Diagnosis, Mitigation, Resolution.
- Add timestamps and a brief intro paragraph.
- 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.