npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

chatgpt-full-exporter

v2.0.2

Published

Export all your ChatGPT conversations, projects & GPTs as JSON, Markdown and HTML

Downloads

114

Readme

ChatGPT Exporter

A zero-dependency Node.js tool that exports all your ChatGPT data — conversations, projects (with uploaded files), and custom GPTs — to JSON, Markdown, and browseable HTML.

ChatGPT Exporter

Why this tool?

OpenAI's built-in data export is slow, gives you a single massive JSON blob, and doesn't include custom GPT configurations or project resource files. This tool fills that gap.

Features

  • Conversations — full message history with code blocks, images, and file attachments
  • Projects — metadata, instructions, uploaded resources (PDFs, documents), and all project conversations organized in subfolders
  • Custom GPTs — name, description, instructions, tools, and conversation starters
  • 3 output formats — JSON (raw API data), Markdown (readable), HTML (browseable with sidebar)
  • HTML viewer — generated index.html with ChatGPT-style dark sidebar, project folders, and search
  • Resume support — re-run at any time; already-exported conversations are skipped instantly
  • Parallel downloads — configurable concurrency (1–10)
  • Date filter — export only conversations within a specific date range
  • ZIP archive — optionally bundle everything into a single .zip
  • Keep awake — prevents sleep on macOS (caffeinate), Windows (SetThreadExecutionState), and Linux (systemd-inhibit)
  • Zero dependencies — only built-in Node.js modules
  • Web UI — clean local interface, no terminal required after startup

Output structure

chatgpt-export/
├── index.html        ← HTML viewer with search and iframe navigation
├── json/             ← raw conversation JSON
├── markdown/         ← readable Markdown per conversation
├── html/             ← browseable HTML with conversation sidebar
├── files/            ← images and attachments per conversation
├── projects/
│   └── Project Name/
│       ├── project-info.md
│       ├── resources/    ← uploaded project files (PDFs, images, etc.)
│       ├── json/
│       ├── markdown/
│       └── html/
├── gpts/             ← your custom GPTs as Markdown
└── logs/             ← export run logs

Installation

Pick the option that matches your platform and comfort level. The browser will open automatically at http://127.0.0.1:8523 once the server starts.

Option 1 — Windows standalone (no install required)

For non-technical Windows users:

  1. Download chatgpt-exporter-win.zip from the latest release
  2. Right-click the zip → Extract All to any folder
  3. Double-click chatgpt-exporter-win.exe in the extracted folder

Your browser opens automatically. No Node.js installation needed.

Windows SmartScreen may show a warning the first time — click More infoRun anyway. Keep chatgpt-exporter-win.exe and the public/ folder together — the exe needs public/ to display the UI.

You can also start it from a CMD or PowerShell window — handy for seeing live server output and any errors:

cd C:\path\to\extracted\folder
chatgpt-exporter-win.exe

Press Ctrl+C to stop the server. Add --debug for detailed troubleshooting logs (see Troubleshooting).

Option 2 — npx (any OS, no clone)

Requires Node.js 18+ installed. Then run in your terminal:

npx chatgpt-full-exporter

Works on macOS, Linux, and Windows. Downloads and runs in one command.

Option 3 — Clone and run (any OS, for developers)

git clone https://github.com/ezwep/chatgpt-exporter.git
cd chatgpt-exporter
npm start

Note: npm install is not required — this tool has zero npm dependencies.

Get your session token

After the UI opens in your browser:

  1. Open chatgpt.com/api/auth/session in a new tab (log in first if needed)
  2. Select all (Cmd+A on macOS, Ctrl+A on Windows/Linux), copy, and paste into the text area
  3. Choose your output folder (the Browse button opens an in-browser folder picker — works on all platforms)
  4. Click Export conversations

The export runs in the background. You can close the browser tab — progress is saved and resumable. Re-running the tool skips conversations already exported.

Export options

Click Export options to expand:

| Option | Description | |--------|-------------| | Conversations / Projects / GPTs | Toggle which categories to export | | JSON / Markdown / HTML | Toggle output formats | | From / Until | Date range filter (leave empty = export all) | | Keep computer awake | Prevent sleep during long exports | | Create ZIP archive | Bundle output into a .zip file |

Note: JSON is always written to disk (used for resume detection), but only included in the ZIP when the JSON format is enabled.

Requirements

  • Windows users (Option 1): nothing — the .exe is standalone
  • All other options: Node.js 18+
  • Supported platforms: macOS, Linux, Windows

Building the Windows executable yourself

If you'd rather build the .exe from source (e.g. for an architecture other than x64), clone the repo and run:

npm run build

This bundles server.js with esbuild and packages it with pkg. Output lands in dist/chatgpt-exporter-win.exe together with a dist/public/ folder. Ship the whole dist/ directory.

Troubleshooting

Start the server in debug mode to capture every HTTP request:

# macOS / Linux / Windows (when running from source)
node server.js --debug

# Windows (when running the .exe)
chatgpt-exporter-win.exe --debug

The debug.log file is created in the same folder as the script or .exe. You can also view it live in your browser at http://127.0.0.1:8523/debug-log while the server is running.

Privacy note: Debug logs contain API endpoint URLs including conversation and file IDs. Do not share debug logs publicly without reviewing them first.

How it works

The tool uses ChatGPT's internal API endpoints (the same ones the web app uses) with your session token. It fetches conversation lists, individual conversations with full message trees, project metadata and resources, and custom GPT configurations. No third-party APIs or services are involved — everything stays on your local machine.

Disclaimer

Use at your own risk. This tool is provided as-is, without warranty of any kind.

  • Unofficial API — This tool uses ChatGPT's internal web API endpoints, which are undocumented and not part of the official OpenAI API. These endpoints may change, break, or be blocked at any time without notice.
  • Terms of Service — Using internal API endpoints may violate OpenAI's Terms of Use. You are solely responsible for ensuring your use complies with applicable terms and laws.
  • Session token security — Your session token grants full access to your ChatGPT account. This tool processes it locally and never transmits it to any third party, but you should never share your token with anyone. Treat it like a password.
  • Your own data — This tool only accesses your own conversations, projects, and GPTs. It is intended for personal data portability (consistent with GDPR Article 20), not for accessing other users' data.
  • No affiliation — This project is not affiliated with, endorsed by, or associated with OpenAI in any way.
  • Rate limiting — Excessive use may trigger rate limits or temporary blocks on your ChatGPT account. The tool includes built-in delays to minimize this risk, but no guarantees are made.
  • Data accuracy — Exported data is provided as-is from the API. The author is not responsible for missing, incomplete, or corrupted exports.

Credits

Inspired by the original browser console export script by ocombe.

This project extends that approach into a full local server with resume support, project & GPT export, HTML browsing, search, and a web UI.

License

MIT