
claude-export
Browser script to share and export Anthropic Claude chat logs to Markdown, JSON, or as Image (PNG)
Install with your AI
Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.
⚠ Unverified source (community-unclaimed, low activity) — reveal the prompt
⚠ Unverified source (community-unclaimed, low activity). Inspect the repo before letting your agent install it. Install and set up claude-export (git-clone project) into my current project. Found on https://claudeers.com/claude-export Repo: https://github.com/ryanschiang/claude-export Homepage/docs: — Detected install method: git-clone → git clone https://github.com/ryanschiang/claude-export Category: education. Platforms: api, web. Read the repo's README for exact setup and env vars, then install it and wire it into my project. Claudeers Health Verdict: dormant; community-verified: false. Confirm the source before running anything.
git clone https://github.com/ryanschiang/claude-export
// compatibility
| Platforms | api, web |
|---|---|
| Operating systems | — |
| AI compatibility | claude |
| License | NOASSERTION |
| Pricing | open-source |
| Language | JavaScript |
Export/Download Claude Conversations (claude-export)
This browser script formats and downloads Anthropic Claude conversations to markdown, JSON, and PNG for sharing and exporting chat logs.
You can export the active Claude chat log directly from the browser console, entirely locally. No data is sent to any server.
Supports the latest Claude web UI as of September 24, 2024.
Usage
- Navigate to claude.ai.
- Open the chat thread you'd like to export.
- Open the browser console (how to open console: Chrome, Firefox, Safari)
- Follow the below steps depending on which output type you'd like.
[!IMPORTANT]
Always be careful when pasting code into the console. Only paste code from trusted sources, as it can be used to execute malicious code. You can explore this repository and verify the code before pasting it into the console, or clone and build the code yourself.
JSON
- Copy contents of
/dist/json.min.js - Paste into browser console
Example output (JSON):
{
"meta": {
"exported_at": "2024-03-19 16:03:09",
"title": "Sending Javascript Requests"
},
"chats": [
{
"index": 0,
"type": "prompt",
"message": [
{
"type": "p",
"data": "How can I send a request in Javascript?"
}
]
},
{
"index": 1,
"type": "response",
"message": [
{
"type": "p",
"data": "In JavaScript, you can send a request using the built-in fetch function or the XMLHttpRequest object. Here's an example using fetch:"
},
{
"type": "pre",
"language": "javascript",
"data": "fetch('https://api.example.com/data')\n .then(response => response.json())\n .then(data => {\n // Handle the response data\n console.log(data);\n })\n .catch(error => {\n // Handle any errors\n console.error('Error:', error);\n });"
},
{
"type": "p",
"data": "In this example, fetch sends a GET request to the specified URL (https://api.example.com/data). The then block is used to handle the response. The first then converts the response to JSON format using response.json(), and the second then receives the parsed JSON data, which you can then process as needed."
},
]
},
]
}
Markdown
- Copy contents of
/dist/md.min.js - Paste into browser console
Example output (Markdown):
# Sending Javascript Requests
`2024-03-19 16:04:20`
_Prompt_:
How can I send a request in Javascript?
_Claude_:
In JavaScript, you can send a request using the built-in fetch function or the XMLHttpRequest object. Here's an example using fetch:
```javascript
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => {
// Handle the response data
console.log(data);
})
.catch(error => {
// Handle any errors
console.error('Error:', error);
});
```
In this example, fetch sends a GET request to the specified URL (https://api.example.com/data). The then block is used to handle the response. The first then converts the response to JSON format using response.json(), and the second then receives the parsed JSON data, which you can then process as needed.
Image (.PNG)
- Copy contents of
/dist/image.min.js - Paste into browser console
[!NOTE]
Downloading as an image uses thehtml2canvaslibrary to take a screenshot of the chat log. This may take a few seconds to process.
Example output (Image Export):

Limitations
This is a trivial implementation as Claude currently does not support sharing or exporting conversations. It may break with future changes.
It currently supports:
- Paragraphs / Text
- Lists
- Code blocks
- Tables
Acknowledgements
- html2canvas - Used to take a screenshot of the chat log and export as a PNG.
You May Also Like
chatgpt-export - Export OpenAI ChatGPT conversations to markdown, JSON, and PNG for sharing and exporting chat logs.
Future Development
- Nested code blocks (within lists)
- Nested lists
- Fix syntax highlighting
- Trim whitespace on exported images
// faq
What is claude-export?
Browser script to share and export Anthropic Claude chat logs to Markdown, JSON, or as Image (PNG). It is open-source on GitHub.
Is claude-export free to use?
claude-export is open-source under the NOASSERTION license, so it is free to use.
What category does claude-export belong to?
claude-export is listed under devtools in the Claudeers registry of Claude-compatible tools.
// embed badge
[](https://claudeers.com/claude-export)
// retro hit counter
[](https://claudeers.com/claude-export)
// reviews
// guestbook
// related in Education & Learning
Skills for Real Engineers. Straight from my .claude directory.
Course to get into Large Language Models (LLMs) with roadmaps and Colab notebooks.
A collection of learning resources for curious software engineers
Learn it. Build it. Ship it for others.