ChatGPT Source Extractor
Every link ChatGPT and Claude ever cited you, recovered from your chat history into one list. Deduplicated, traced back to the conversation it came from, and exportable as Markdown or CSV. Everything happens in your browser.
- Runs in your browser
- Nothing uploaded
- No signup
- Free forever
Nothing is uploaded. For your whole history at once, use .
How to get your sources back
There are two ways in. Paste one answer to try it in ten seconds, or load your full export to recover months of research at once.
- 1
Paste a single answer
Copy any ChatGPT or Claude reply that cited sources and paste it into the box. Links are pulled out as you type. No export needed.
- 2
Or load your whole history
Switch to Upload your export and drop in conversations.json. The tool works out whether it came from ChatGPT or Claude on its own.
- 3
Read the list
Sources are ranked by how often you cited them. Repetition across months of research is the best available signal of what actually mattered.
- 4
Trace anything back
Press Where on any source to see which conversations cited it, on what date, and the sentence it was cited for.
- 5
Export what you need
Save the list as Markdown for your notes, CSV for a spreadsheet, or a plain list of URLs. Filters apply to the export, so you can pull just one domain.
Why your citations disappear
Since ChatGPT and Claude gained web search, they cite sources constantly. A research conversation can reference a dozen articles. Those links are then buried in a conversation you will never scroll back to, in a history with no way to list them.
The products give you no view of this. There is no bibliography, no source list, no way to ask what have I cited about this topic. The links exist, they are just unreachable. This tool makes them reachable.
What deduplication is actually doing
The same article gets cited many different ways across months of chat. Once with a tracking parameter from a newsletter, once with www, once with a link to a specific heading, once with a trailing slash. Counted naively that is four sources. It is one.
Every URL is normalised before it is counted. Tracking parameters are stripped, www is dropped, fragments are removed, and the remaining query parameters are sorted so two orderings of the same link collapse together. Meaningful parameters are kept, so a YouTube video ID or a document ID still resolves. That collapsing is what turns a raw dump of links into a list you can read.
Every source traces back to its message
A list of URLs on its own is not much use. What you usually need is the context: which question produced this source, when, and what claim it was supporting.
So each source keeps its occurrences. Press Where and you get the conversation title, the date, and the surrounding sentence for every place it appeared. If one source turns up in five conversations across three months, you see all five.
No model is involved
This tool does not summarise, rank by relevance, or judge credibility. It finds links, normalises them, counts them, and shows you where they came from. That is all deterministic work: pattern matching and string handling.
That constraint is deliberate. It keeps the tool instant and free, it works with no network once the page has loaded, and it means the tool cannot invent a citation that was never there. Every URL in the output appeared in your history.
Frequently asked questions
Is my data uploaded anywhere?
No. Pasted text and export files are both processed in your browser. There is no upload, no server, and nothing stored. Reload the page and it is gone.
Do I need an export to use this?
No. Paste mode works on a single copied answer and needs nothing else. The export is only for recovering your whole history at once.
Does it work with both ChatGPT and Claude?
Yes. Both name their file conversations.json, so the tool inspects the contents and works out which vendor it came from rather than asking you.
Why does it find fewer sources than I expected?
Citations only appear when the assistant searched the web. Coding, brainstorming and writing conversations usually contain no links at all, so a history weighted toward those will return little.
Does it catch sources that are not visible as links?
Yes. When ChatGPT answers with web search, the visible text often carries only a marker while the real URL sits in the message metadata. Both are read, so sources a text-only scan would miss are still recovered.
Why is one article listed once when I cited it several times?
That is deduplication working. The same page cited with different tracking parameters, with or without www, or with a link to a heading is one source. The count next to it shows how many separate messages cited it.
Can I export only some of the sources?
Yes. Filter by domain or search term first. Markdown, CSV and plain URL exports all follow the current filter.
Does it check whether the sources are real?
No. It reports what your history contains. If an assistant cited a page that does not exist, that URL appears here too. Verifying a source is still your job.
Do I need an account?
No account, no email, no signup.
You just recovered sources you had already lost.
Every link in that list was sitting in a conversation you were never going to scroll back to. You got them back because you happened to have an export. Everything you have cited since then is still buried, and it stays buried until you request another one. Savelore keeps what an answer gave you at the moment it arrives, across all nine supported platforms. Recovering it later stops being a job.