ChatGPT Projects and Claude Projects are how serious users organise their AI work. A project is a folder containing multiple conversations, shared files, custom instructions, and AI-generated artifacts — all scoped together. They’re powerful. They’re also a nightmare to export, because no built-in feature exists for “give me the whole project as files”.
Here’s what each export method can and can’t do.
What’s actually inside a project
Before exporting, know what you’re trying to get out:
- Conversations — every chat thread inside the project. Could be 3, could be 50.
- Uploaded attachments — PDFs, images, spreadsheets, code files you uploaded as context.
- AI-generated artifacts — code files, documents, images the AI produced during the conversations. In ChatGPT these include Canvas docs; in Claude they’re labelled “Artifacts”.
- Custom instructions — the project-level system prompt that sets the AI’s behaviour.
- Project description and metadata — the title and notes you wrote when creating it.
A complete project export captures all five. Most methods don’t.
Method 1: OpenAI’s data export
ChatGPT only. Settings → Data Controls → Export Data → wait for email → download ZIP.
What you get:
- A single
chat.htmlfile with every conversation across every project, mixed together. No folder structure per project. conversations.jsonwith raw conversation data.- A
user.jsonwith account metadata.
What you don’t get:
- Per-project organisation. Conversations from different projects are interleaved.
- Uploaded attachments — these are referenced by ID but the actual files aren’t in the export.
- AI-generated artifacts as separate files. They’re embedded in conversation text.
- Custom instructions for each project.
Verdict: useful as a cold backup of the account. Useless if you want a specific project as a usable folder of files.
Method 2: Anthropic’s Claude data export
Claude only. Settings → Privacy → Export data.
Similar story to OpenAI’s: bulk JSON dump of conversations, no per-project folder structure, no separate artifact files.
Verdict: same as above. Account-level backup, not project-level.
Method 3: Per-conversation manual export
Open each conversation in the project, run a single-chat export (browser print, copy-paste, or an export extension), save to a folder, name the file yourself, repeat for every conversation in the project. Then download the project files manually one at a time.
Time: 30 seconds to 2 minutes per conversation, depending on method. For a 20-conversation project, that’s 10–40 minutes of clicking.
Verdict: works for small projects. Doesn’t scale.
Method 4: ChatExport AI Pro
Disclosure: I build this. It’s currently the only tool that does whole-project export.
Open any ChatGPT or Claude Project page. Click the extension icon. Click “Export Project”. The extension:
- Walks every conversation in the project.
- Exports each conversation in your chosen format (Markdown, PDF, Word, or HTML).
- Downloads every uploaded attachment that appears in any conversation.
- Extracts every AI-generated artifact as a real file (a
.pyfrom a code block becomes an actual.pyon disk, not a text snippet). - Generates a
manifest.jsonlisting every conversation, file count, export timestamp, and file paths. - Packages everything into one ZIP with per-conversation folders:
my-research-project.zip
├── manifest.json
├── conversation-1_Market-Analysis/
│ ├── conversation.md
│ ├── market-share-chart.png
│ └── attachments/
│ └── industry-report.pdf
├── conversation-2_Competitor-Deep-Dive/
│ ├── conversation.md
│ ├── analysis.py
│ └── competitors-matrix.png
├── conversation-3_Executive-Summary/
│ ├── conversation.pdf
│ └── summary-report.md
└── ...
Method 5: Build your own with the OpenAI / Anthropic APIs
If you’re a developer and want full control, you can hit the official APIs:
- OpenAI: there’s no public Projects API for the consumer ChatGPT product as of early 2026. You can only access conversations through the data export, not enumerate them via API. Dead end.
- Anthropic: same — Claude Projects on
claude.aiaren’t exposed via the API. The API is for programmatic Claude usage, not for accessing yourclaude.aiUI history.
Verdict: technically appealing, practically blocked. Both consumer products keep project data inside the web UI only.
What to look for if you’re choosing a tool
If you’re shopping for a project-export solution:
- Does it actually walk every conversation in the project, automatically? Or does it just bundle the current conversation? Read the feature description carefully — “project export” sometimes means “export with a project template”, not “export an entire project’s conversations”.
- Does it fetch uploaded attachments? If your project has PDFs you uploaded, those are usually the most important files. A “project export” that only saves chat text and leaves attachments behind is half a feature.
- Does it extract AI-generated artifacts as real files? Code that’s stuck inside chat-bubble text is much less useful than the same code as a
.pyfile you can run. - Does it preserve project structure? One flat folder of 50 conversations with no separation is harder to navigate than per-conversation folders.
Bottom line
Most tools that call themselves “AI chat exporters” handle one conversation at a time. Project-level export — every conversation plus every attached file plus every AI-generated artifact, organised into one usable archive — currently has one tool that does it end to end: ChatExport AI Pro.
If you live inside ChatGPT or Claude Projects for serious work and want a real archive (compliance backup, project handoff, leaving a job, switching platforms), that’s the option. If you don’t use Projects, ignore this whole post — single-conversation export is plenty.
Try project export → · Pricing → · Compared with alternatives →