Do your references actually exist?
Paste a bibliography — or any text containing citations. Your browser checks every reference directly against the world's scholarly registries (Crossref · DataCite · doi.org · OpenAlex · PubMed · Open Library) and flags the ones that don't hold up: fabricated DOIs, AI‑hallucinated references, real identifiers stitched onto the wrong paper, and works that have been retracted.
Every verdict above was produced by live lookups from your browser to the public registries — nothing was pre-computed. Click any evidence link to see the registry record yourself.
What the verdicts mean
- Verified
- The identifier (DOI, arXiv ID or PMID) resolves, and the registered title, author and year match this citation.
- Match found
- No identifier was given, but a registry record closely matches the cited title, author and year.
- Exists
- A bare identifier with no citation text around it — it resolves, but there is nothing to compare it against.
- Check me
- A record was found but only partly matches (e.g. right title, wrong year). Compare by hand before trusting either way.
- Unconfirmed
- The DOI is registered (per doi.org) with an agency whose metadata this tool cannot read — existence confirmed, contents not.
- Mismatch
- The identifier is real but registered to a different work than the one cited — the classic AI-fabrication signature.
- Not found
- The identifier is definitively absent from the global registries (confirmed 404, not a network hiccup).
- Not indexed
- No identifier, and no close match in the indexes searched. Could be fabricated, or simply not indexed (books, theses, non-English, very new). The tool can't tell which — a lead to check, never a conviction. Only the two red verdicts are things it can prove.
- Retracted
- The work exists but has been retracted (per OpenAlex). Citing it as valid evidence is misleading.
- Can't check
- Web pages, news articles and other non-scholarly sources can't be fetched from your browser. Open the link and check it yourself.
- Retry
- A registry could not be reached. This is explicitly not a verdict about the reference.
What this tool does not tell you
- “Verified” means the reference exists — not that it supports the claim it is cited for. A real paper can still be cited misleadingly. Read your sources.
- No legal case-law. Court citations (cases, statutes) live in different databases. For US case law try CourtListener.
- Coverage has edges. Books, theses, reports, non-English and very recent works are under-indexed. “No record” for these is weak evidence — verify by hand.
- Retraction data is incomplete. A missing retraction flag is not proof a work stands; check Retraction Watch for anything critical.
- Match scoring is heuristic. The similarity between your citation and the registry record is computed from titles, authors and years — it can misjudge unusual formats, and references whose first author has a very short surname may land on “Check me” rather than green. The evidence for every verdict is shown so you can overrule it.
- Paste plain references. One per line, per blank-line block, or numbered (
[1],1.). BibTeX and RIS files aren't parsed yet — paste the human-readable reference list, not the.bib.
Privacy, by construction
There is no server behind this page — it is a static file. Your text is never uploaded
to us because there is no “us” to upload to. When you press Check, your browser
queries the public scholarly registries directly (Crossref, DataCite, doi.org, OpenAlex,
PubMed, Open Library), exactly as if you had searched them yourself. Those registries see
the individual reference queries — from your IP address, not through any intermediary.
The Crossref queries also carry a fixed contact address (ghostcite@dsl4.com,
the same for every visitor, per Crossref's politeness convention) — that identifies the tool, never you.
No account, no cookies, no analytics, no logs of your text.
The page's Content-Security-Policy
makes this enforceable: the browser will not load a script, or open an app connection,
to anywhere but those six registries.
(The host, Cloudflare, tries to inject its own cookieless analytics beacon, as it does on
every site it serves; this page's policy blocks it before it runs, so no analytics loads —
you can confirm that in your browser's network tab.)
The entire checker is one readable JavaScript file — audit it.