Citation checker
Every entry looked up in CrossRef and OpenAlex. Free, and no account.
How the check works
Your list is split into individual references, and each one takes the shortest honest route to an answer. If a reference carries a DOI, that DOI goes to CrossRef, the registry publishers deposit their metadata with. CrossRef either hands back the registered record or it hands back nothing, and nothing is already a finding. Everything else, references with no DOI and references whose DOI came back empty, is searched in OpenAlex by title and author.
Then comes the part most checkers skip. Finding a record is not the same as the record agreeing with you, so the title, the author list and the year in your reference are compared against the ones the publisher registered. A citation can point at a real, resolvable, perfectly respectable paper and still be wrong about which paper it is.
Nothing is stored. There is no account, and your list is not kept once the answer comes back.
What each verdict means
Verified. The work was found in CrossRef or OpenAlex, and what you wrote lines up with the registered record. Nothing to do.
Record does not match. A record exists, but it disagrees with your reference, and the fields that disagree are named for you. Two shapes turn up. The DOI resolves, but to a different paper than the one your citation describes, which is what a fabricated reference built around a borrowed identifier looks like. Or the paper is real and the DOI bolted onto it leads nowhere. Either way the reference as written is wrong, even though clicking the link opens something.
Not found. No record in either index. If the DOI is dead as well, that pairing is the strongest fabrication signal you can get without reading the paper, and it is worth checking the rest of the list, because invented references arrive in clusters rather than alone.
Dead DOIs are counted on their own, separately from the three verdicts, because a DOI that is perfectly formatted and registered to nothing is the failure that fools people hardest. There is no checksum in a DOI and no rule that makes an invented one look wrong. A DOI is real only because somebody registered it, which is a whole diagnosis of its own.
What this cannot tell you
It reads two indexes. Between them CrossRef and OpenAlex cover journal articles well and everything else less well, so a book, a book chapter, a thesis, a conference paper, a government report or an article in a small regional journal can be entirely legitimate and still come back not found. So can a paper published in the last few weeks, before its registration has propagated. Not found means the check could not confirm it, not that it is fake. Those are the ones to look up by hand, and the manual routine takes about a minute.
It also cannot tell you whether a real paper supports the sentence you attached it to. That is the more common failure, no lookup catches it, and the only fix is opening the paper and reading the passage. It makes no judgment about quality either: whether the venue is a predatory or hijacked journal, or whether the paper has since been retracted. Those are separate checks, and both matter before you submit.
Why AI reference lists fail this check
A language model produces a reference the same way it produces any other sentence, by predicting what usually comes next. Author names, journal titles and DOI suffixes all follow strong patterns, so a model can assemble something that looks exactly right and corresponds to nothing. It is not lying and it has no registry to consult, which is the mechanism behind fabricated citations and the reason asking the chatbot to double check its own work never helps. Run the list through a registry instead. That is what this page does.
Or write with references that were never invented
CiteOwl researches first and cites what it actually retrieved, so the DOI in your bibliography was read off the publisher's record. Every edit it makes arrives as a diff you can reject.
Start writing