Export conversations from ChatGPT, Claude, Gemini, and Grok to Markdown, DOCX, or PDF — with full formatting preserved.
- 🗂 Multi-Platform – ChatGPT, Claude, Gemini, Grok (grok.com + x.com)
- 📄 Three Export Formats – Markdown, DOCX (Word), and PDF
- 🎛 In-Page Overlay Panel – Floating "Export Chat" button on every supported page
- Check/uncheck individual messages before exporting
- Quick-select chips: All · None · You only · AI only · First 10 · Last 10
- Per-message export button (export from that point onwards)
- 🔤 Formatting Preserved – Code blocks, lists, tables, bold/italic carry over to all formats
- ⚡ One-Click Popup – Quick export via the extension toolbar icon
- 🔄 SPA-Aware – MutationObserver keeps the overlay alive through navigation without page reloads
| Platform | URL | Status |
|---|---|---|
| ChatGPT | chatgpt.com · chat.openai.com | ✅ Supported |
| Claude | claude.ai | ✅ Supported |
| Gemini | gemini.google.com | ✅ Supported |
| Grok | grok.com · x.com | ✅ Supported |
- Go to the Releases page
- Download
md-export-vX.X.X.zip - Unzip it anywhere on your computer
- Open Chrome →
chrome://extensions/ - Enable Developer mode (top-right toggle)
- Click Load unpacked → select the unzipped folder
git clone https://github.com/YadneshTeli/MD-Export.git
cd MD-Export
npm install
npm run buildThen follow steps 4–6 from Option A.
Coming soon
- Open any supported AI chat
- Click the "Export Chat" button (bottom-right corner)
- Select the messages you want
- Pick a format (Markdown / DOCX / PDF)
- Click Export — file downloads automatically
- Click the MD-Export icon in your Chrome toolbar
- Choose a format and click Export
- Node.js 18+ and npm
- Chrome browser
npm run dev # Development build with file watching
npm run build # Production build
npm run package # Build + create distributable .zipMD-Export/
├── .github/workflows/ # GitHub Actions (automated release)
├── src/
│ ├── background/ # Service worker (handles export requests)
│ ├── content/ # Per-site scrapers + in-page overlay
│ │ ├── base_scraper.js
│ │ ├── chatgpt.js
│ │ ├── claude.js
│ │ ├── gemini.js
│ │ ├── grok.js
│ │ └── overlay.js # Floating panel + per-message buttons
│ ├── exporters/ # markdown.js · docx.js · pdf.js
│ ├── pipeline/ # Content pre-processing
│ └── popup/ # Toolbar popup UI
├── popup/ # popup.html + popup.css
├── icons/ # Extension icons (16 · 48 · 128px)
├── manifest.json # Chrome Extension Manifest v3
└── webpack.config.js # Build configuration
| Purpose | Library |
|---|---|
| HTML → Markdown | Turndown + GFM plugin |
| DOCX generation | docx |
| PDF generation | jsPDF |
| Build | Webpack 5 + Babel |
See CONTRIBUTING.md for full setup instructions.
- Fork the repo
- Create a feature branch:
git checkout -b feature/my-feature - Commit:
git commit -m 'feat: add my feature' - Push:
git push origin feature/my-feature - Open a Pull Request
See CHANGELOG.md.
MIT © 2026 Yadnesh Teli
⭐ If MD-Export saves you time, give it a star on GitHub!