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.
