Skip to content

ChatGPT to Markdown

A CLI tool that converts a ChatGPT data export into a browsable, offline-friendly Markdown archive.

What it does

Give it your ChatGPT export (extracted directory or ZIP file) and an output path. It produces a structured Markdown archive with:

  • Every conversation rendered to Markdown with full message history
  • Resolved and deduplicated media, images, and attachments
  • Index pages for conversations, DALL-E generations, and metadata
  • Optional PII redaction and thinking-block inclusion
uvx chatgpt-to-markdown ./my-export ./archive

Features

  • Pydantic v2 validation of all JSON structures
  • 11-step sequential conversion pipeline
  • 12+ message content type support with fallback handling
  • file-service:// and sediment:// asset pointer resolution
  • SHA-256 deduplication for media files
  • DAG linearization with cycle detection
  • Optional PII redaction for user metadata
  • Optional thinking/reasoning block inclusion (o-series models)
  • Accepts ZIP files or extracted directories as input

Documentation

Section What you'll find
Quickstart Install and convert your first export in minutes
Installation All installation methods and system requirements
How-To Guides Configure and troubleshoot the converter
Explanation Architecture and design rationale
Reference CLI flags, config schema, environment variables, and API
Contributing Set up for development and submit changes