This little webapp is intended to make it easier to copy messages from Slack into other places for sharing or archival, with cleaned-up, readable formatting. I hacked it together on valtown with copious help from an LLM over a weekend; please propose changes or edits, as I'm sure I missed many use-cases and edge-cases. This app runs entirely in your browser and does not send your data anywhere.
- Clean markdown conversion: Converts Slack's HTML to readable markdown format
- Thread support: Handles threaded conversations with visual indicators
- Shows thread reply counts (e.g., "Thread: 3 replies (Last reply today at 19:03)")
- Marks threaded replies with ↳ prefix
- Identifies messages sent from thread to main channel with 📢 prefix
- Code block preservation: Maintains formatting for inline code and code blocks
- List handling: Properly converts ordered and unordered lists
- Timestamp formatting: Clean, consistent timestamp display
The app now better handles Slack's threaded conversations:
-
Main messages with threads: When you copy a main channel message that has replies, it will show thread information like "Thread: 3 replies (Last reply today at 19:03)"
-
Individual thread replies: When copying from within a thread view, individual replies are marked with "↳" to show they're threaded responses
-
Thread-to-channel broadcasts: Messages sent from a thread to the main channel are marked with "📢" to indicate they were broadcast
-
Reply context: When a message is replying to another message, it will show the context with a 💬 emoji:
__↳ Alex Rattray__ [2025-07-24 07:03 PM EST]: > 💬 **John Doe**: Thanks this is a great update. Wasn't aware of the Apps bugs actually… > hmm… what are some themes you're seeing? is it like, ugly UX? frontend bugs? backend bugs? other?
- For complete thread context: Copy from within the thread view in Slack to get individual replies with their context
- For thread summaries: Copy from the main channel to see which messages have threads
- Mixed conversations: The app handles both threaded and non-threaded messages in the same selection