veripaper
A free, open-source citation checker for research drafts
v0.1  ·  MIT License  ·  github.com/szzxli/veripaper

Your AI wrote the draft.
Did it invent the citations?

Draft, .docx, .pdf or .bib  ·  or

§1

Check citations

Paste a draft (markdown or plain text), upload a .docx / .pdf, or paste / upload a BibTeX .bib. Four checks per citation: does it exist, does its metadata match (authors vs. title), is it retracted, and does the cited abstract support the claim. Text is extracted in your browser — nothing is uploaded.

or paste your own markdown (or BibTeX) below

Without a key, the keyless check above runs in your browser (abstract-only, smaller model); untick it to only check that sources exist. With an OpenRouter key, an LLM compares each abstract with its claim instead — the optional higher-accuracy path. The keyless check is a first-pass screen, not a substitute for reading the sources — see what it can and cannot do. Either way, partial or unclear cases downgrade to cited, never pretend. Lookups go to free public indexes (Crossref, DataCite/arXiv, OpenAlex, Europe PMC, DBLP; Semantic Scholar only as a last resort), paced and cached locally so you hit fewer rate limits.

§2

Verify a citation

A single identifier, checked against the registries directly. No server, no signup.

Queries CrossRef / DataCite / arXiv live. A result of cited means the source exists — it does not mean the source supports your claim.

§3

Accuracy

Measured, not promised. Every number is generated from published result files, misses and false alarms included.

Our labelled set: 34 samples — web app, no key, keyless check on (run 2026-10-21).

CategorynCaughtMissesFalse alarms
Real citations (should pass)88/8 recognised—0
Fabricated88/80—
Chimeric (real title, wrong authors)66/60—
Retracted66/60—
Specific not in abstract*66/60—

Public third-party datasets — existence / metadata level, same web pipeline, run 2026-10-21. Recall = problem references flagged; false alarms = real references flagged (not-checked items — rate-limited or unreachable — left out).

Dataset (licence)nRecallFalse alarmsNot checked
Badalova & Mayr 2026 — the July 2026 study's data (CC BY 4.0)10422/3315/710
CiteMe benchmark v1, sample (CC BY 4.0)50 (+100 corrupted-field, in full results)22/250/250
CiteTracer synthetic set, sample (MIT)13542/900/450
ICLR 2026 desk-rejected references, sample (MIT)5039/50—0

On the July 2026 study's own data, veripaper raised fewer false alarms than any of the 5 tools tested there (21% vs. 28–75%) but caught fewer problems than 4 of them (recall 67% vs. 55–97%); it does not check venue, pages or partly wrong author lists. Web pages, software and standards have no scholarly record, so they count as false alarms here (UNVERIFIED).

The sample is small (6–8 per category), so read these as signals, not rates. The set is first-party (built and scored by us), registries change, and results vary with rate limits. *These six were built with the same deterministic check that flags them, so that row is not independent evidence of claim checking.

Full comparison, method and per-sample results → (also vs. RefExists, citegate and refchecker)

§4

What the free check is — and isn't

  1. A first-pass screen, not a verdict. Use it to decide which references to check by hand. It is not a substitute for human review.
  2. Keyless claim check: abstract only, small model. Without a key, each claim is compared with the cited paper's abstract by a small in-browser model (nli-deberta-v3-xsmall), plus exact checks for numbers and names. It never reads the full text.
  3. Bring your own key for better claim judgments. With your own OpenRouter key, an LLM judges each claim against the abstract instead. That is the more accurate path (a far larger model), though we have not scored it in our benchmark yet, and it is still abstract-only.
  4. "Not found" is not proof of fabrication. A real paper can be missing from the free indexes. That is why a reference without an identifier gets UNVERIFIED, not FABRICATED.
  5. No tool of this kind is reliable unsupervised. An independent July 2026 study of five hallucinated-citation checkers (Badalova & Mayr, arXiv:2607.22693) found all five limited by reference-extraction errors, incomplete metadata, database coverage and inconsistent results, and advised checking flagged references by hand. veripaper was not one of the tools tested, and we have no reason to think it is exempt.
§5

The honesty contract

Five labels, three tags. No sixth option, no hedging.

ABSTRACT-SUPPORTED
The source exists and its abstract substantively supports the claim's key assertion. Full text is not checked — supporting evidence may live in the paper body.
Example: "LLMs fabricate 23.4% of citations in academic drafts" — matched against the cited paper's abstract.
CITED
The source exists, but support is unchecked or only partial. The author decides.
Example: "The dataset contains 1.2M annotated examples (Smith et al.)" — real source, content not yet compared.
UNVERIFIED
No record found, the marker cannot be resolved, or the match is ambiguous. Do not cite it as-is.
Example: "Our method outperforms all baselines on every benchmark" — an author assertion with no source attached.
FABRICATED
An explicit identifier (DOI / arXiv ID) checked against its registry and found not to exist — fabricated or mistyped. Absence of evidence is UNVERIFIED; this is evidence of absence.
RATE_LIMITED
Sources were rate-limited or could not be reached (offline, blocked, server error) while checking — not checked, not proven fake. A limit or a network failure is never presented as a fabrication.
[STALE:YYYY] [CHIMERIC:author-mismatch] [RETRACTED]
Tags, not labels: stale data, a real title carrying the wrong authors, a retracted paper. A retracted paper can never be ABSTRACT-SUPPORTED.
[SPECIFIC-NOT-IN-ABSTRACT] [POSSIBLE-MISATTRIBUTION]
Anti-paraphrase tags: the claim leans on hard specifics (numbers, quoted phrases) absent from the abstract. For the second, the missing specific was found in a paper this work cites — the finding may originate there. Both cap the claim at CITED.

The governing rule is downgrade-only: uncertainty always resolves toward the weaker label. A tool that cannot verify must say so.

About

veripaper is an open-source citation checker for research drafts. It looks up whether each cited source exists (CrossRef, DataCite, arXiv, OpenAlex, Europe PMC, DBLP, Semantic Scholar), resolves reference-list markers to identifiers, compares the authors you cited with the record, flags retractions, and screens whether the cited abstract supports the claim — with a small in-browser model by default, or an LLM with your own API key. Every citation receives an honest label from the contract above.

It never generates content and never pretends. When evidence is uncertain, it downgrades the label and leaves the judgment to the author.

§6

Principles

  1. Lookup, not generation. The tool queries registries; it never writes your argument for you.
  2. Downgrade, never pretend. Uncertain evidence gets the weaker label. The author always has the last word.
  3. Your keys, your data. Optional BYOK for content judgment. Drafts never leave the browser.
  4. Open and auditable. MIT licensed. Every lookup, label rule, and threshold is in the source.
§7

Roadmap

Three horizons. Only Now is built; Next and Later are plans, not features.

Now

Next and Later — plans, not built

Next

  1. Claim-level checks against open-access full text (arXiv, PubMed Central): which parts of a claim the source supports, with quotes — never a flat yes/no. Planned, not built.
  2. Close the gaps in the limits: compare year, venue and pages; catch a partly wrong author list. Planned, not built.
  3. More free registries (e.g. PubMed, DBLP) to cut UNVERIFIED. Planned, not built.
  4. Workflow integrations: Zotero, Overleaf, and a batch mode for journal editors and writing centers. Planned, not built.
  5. A public citation-check benchmark. Today's measurement is benchmark/COMPARISON.md (§3). Planned, not built.

Later

  • Idea distillation. From rough notes to a novelty and contribution statement, grounded in retrieved literature. Vision, not built.

veripaper will not estimate acceptance chances, simulate reviewers, or ghost-write rebuttals: those are predictions or generation the tool cannot verify.

Experimental side tools — early, unvalidated, not the focus of this site

Small helpers built along the way. They are not benchmarked; treat their output as a starting point only.

PROJECT

Side

Evaluate an idea

Can this become a paper? Live publication heat, venue map, and key papers — then a scored assessment. Numbers are free; judgment needs your key.

or describe your idea in 2–5 sentences

Heat counts come from OpenAlex (live). A thin count can mean a blue ocean or a dead end — the tool shows you the numbers; the field decides.

Side

Dataset & methods checklist

Pick the paper type and target venue. Get the checklist: where data is needed, how to collect it, and the bar for "done".

Side

Where to submit

Describe the topic. Get a ranked venue shortlist with fit reasons — a starting filter, not a prediction.

Side

Rebuttal manager

Paste the reviews. Each point is split out, classified, and given a response template. Track what is addressed — export when done.

State is saved in this browser (localStorage). The tool structures the work; the science in each response is yours.

Side

Track submissions

Where the draft went, what state it is in, and when the clock runs out. Per project.

Refs

References

  1. CrossRef. crossref.org — DOI registry.
  2. DataCite. datacite.org — DOI registry; mints arXiv DOIs (10.48550).
  3. arXiv. arxiv.org — preprint server and API.
  4. Semantic Scholar. semanticscholar.org — citation graph.
  5. DBLP. dblp.org — computer-science bibliography.
  6. Europe PMC. europepmc.org — life-science literature, abstracts.
  7. OpenAlex. openalex.org — 250M+ works index.
  8. veripaper source. github.com/szzxli/veripaper — MIT.