Which one you want
Start with the citation checker if you have a bibliography and a suspicion. It takes the whole list at once, resolves every DOI in it, searches for the entries that do not have one, and then does the thing most checkers skip: it compares the record it found against what you actually wrote. A reference can point at a real, resolvable, respectable paper and still be wrong about which paper that is.
Use the DOI lookup when one identifier is misbehaving and you want to see what sits behind it. Use the citation generator when you have found the paper and need it written out properly.
Nothing here needs an account and nothing is stored. Paste, read the answer, close the tab. The lookups run against free public sources, so there is no quota to burn and nobody keeps your bibliography.
What they read
CrossRef and OpenAlex. CrossRef is where journal publishers deposit metadata when they register a DOI, so it is the authority on whether an identifier exists and what it points at. OpenAlex is an open index of published works, which is how a reference with no DOI still gets checked, by title and author.
Between them they cover journal articles well. They cover books, book chapters, theses, conference papers, government reports and small regional journals much less well, and a paper published in the last few weeks may not have propagated yet. So not found means the check could not confirm the reference, never that the reference is fake. Those are the ones to look up by hand at the publisher or the library, and the manual routine takes about a minute per reference.
Why these exist
Because a chatbot produces a reference the same way it produces any other sentence, by predicting what usually comes next, and author names, journal titles and DOI suffixes all follow strong enough patterns that the result looks exactly right while corresponding to nothing. There is no registry inside the model to consult, which is the mechanism behind fabricated citations and the reason asking it to double check its own work never helps. The fix is to ask a registry, which takes seconds and is what these pages do.
If the list has already been handed in, there is a separate guide for that conversation. If it has not, check it now.
Or skip the checking entirely
CiteOwl researches before it writes and cites what it actually retrieved, so there is nothing to verify afterwards. Every change it makes arrives as a diff you can reject.
Start writing