Skip to content

Reference

How it works

Export Your Chats does one job: take a public ChatGPT share link and rebuild the whole conversation as a file you own. Here is exactly what happens along the way.

The path a conversation takes

Share link

Public URL you paste

Retrieval service

Reads the public page, holds nothing

Normalized thread

Typed messages and blocks

Your browser

Preview and file generation

Only public share links

A share link is a page ChatGPT publishes on your behalf at chatgpt.com/share/<share-id>. Anyone with the URL can read it, which is precisely why it can be read without your account. A /c/… link is a private session URL and is rejected — accepting it would require your credentials, and no export tool should ever ask for those.

Why browser printing omits most of the thread

Long conversations are virtualized: the page keeps only the messages near your viewport in the document and removes the rest as you scroll. This keeps scrolling fast, but it means print, select-all, and “save as PDF” only capture the fragment that exists at that instant. The missing turns were never in the page to begin with.

Why a small serverless retrieval service is needed

Your browser cannot fetch the share page directly — cross-origin rules block it. A minimal serverless function performs that single fetch, parses the published conversation data embedded in the page, and returns it as a typed structure. It performs no other work and keeps no record of the request.

What happens on the server, and what does not

Server-side: fetching the public page and normalizing it into messages, headings, lists, code blocks, tables, quotes, and citations. That response is sent straight back to you.

Not server-side: file generation. Markdown, JSON, CSV, plain text, HTML, and the print layout behind PDF are all produced in your browser from the data already on screen. Your export never makes a second trip.

Known limitations

Images and uploaded files are referenced by name rather than embedded. Very large threads may exceed what a single retrieval pass can prepare. If ChatGPT changes the structure of its shared pages, retrieval can break until the parser is updated — you will see a clear message rather than a partial file.

Revoke the link when you are done

A share link stays public until you delete it. Once your export is saved, open the conversation in ChatGPT, go to the shared links settings, and remove it. Deleting the link does not affect the file you already downloaded.