AI Citation Checker

Free AI citation checker: paste a URL and get a 0-100 citation-readiness score from 28 checks — sourced numbers, entity clarity, freshness, structured data, and AI-slop tells. See exactly what answer engines look for before they cite you.

Public pages only. We fetch the page, strip the markup, and send the text to a lightweight audit model — never your identity.

Updates automatically as you type.

Calculated in your browser; your inputs are not sent to us. Privacy

Results will appear here.
Calculation details
This audit is not a local calculation: when you press Calculate, the URL you pasted is sent to our citation-check API, the page is fetched server-side, and its text is audited by the Jev citation model. Only the public URL and its page text are processed — no account, email, or identity data is attached. Audits are rate-limited to 5 per hour per visitor.
Use this resultShare the current inputs, or ask ChatGPT to explain the calculation in context.
Ask an AI to explain this result
Share this result

Planning estimate only, not financial, tax, or legal advice. Verify assumptions and current rules before making decisions.

This tool makes one server request when you submit a URL: our citation-check API fetches the public page, extracts its text, and sends it to the Jev audit model. No identity data is attached to that request. Like other BoringToolsKit pages, aggregate interaction events described in Privacy may be sent, but your pasted URL values stay out of ad/affiliate systems. See our Privacy Policy.

Use this result

Share the current inputs or ask ChatGPT to explain the calculation in context.

More options
Report a calculation issue
Method & sources

How This Tool Works

Calculation Method

Reads Page URL to audit and returns the result shown on this page.

Site methodology

No unrelated authority link is added merely to make this page look sourced. Tool-specific external sources are shown only when they directly support the method, rate, or rule.

Assumptions to Verify

  • Inputs are treated exactly as entered.
  • Verify important decisions with current authoritative information.

Privacy: The calculation runs in this browser. Shared links contain the page address only, not your inputs or results.

How the score is computed: a worked example

The audit asks 28 typed questions about the page, each answered by the Jev model as a probability between 0 and 1 that the statement is true of the page as fetched. The displayed score is the arithmetic mean of all 28 probabilities, scaled to 100. A check 'passes' when its probability is at least 0.5; anything below that line appears in the failed-checks list, and that list is built client-side from the same data, so the headline score and the failure list can never disagree.

Worked example. Suppose a page scores 0.90 on 24 of the 28 checks and 0.20 on the remaining 4. The sum of probabilities is 24 x 0.90 = 21.60 plus 4 x 0.20 = 0.80, giving 22.40. Divide by 28: 22.40 / 28 = 0.80, so the page displays 80 / 100. The same audit shows 4 of 28 checks below the 50% line, and those four titles are exactly the checks scored 0.20. Notice the score and the pass count are computed independently: a page could sit at a healthy 70 / 100 while still failing 3 checks, or pass all 28 checks at exactly 0.50 each and score 50 / 100. That is why the tool reports both numbers rather than letting one stand in for the other.

One consequence worth knowing: at exactly 0.50 a check passes, because the comparison is greater than or equal to 0.5. A check at 0.49 fails. Probabilities are rounded to whole percents for display (0.495 renders as 50%) but the pass/fail decision uses the raw probability, so a check can display 50% and still be listed as failed.

Boundary cases and what the audit cannot see

The floor and ceiling are exact. A page that scores 0 on all 28 checks displays 0 / 100 and fails all 28. There is no client-side clamp on the displayed probability: if the server ever returned an answer above 1.0, a row would render above 100% and the score would exceed 100. In practice answers arrive as 0-to-1 probabilities, but the display trusts the data. A question missing from the response defaults to 0, so a truncated or partial response reads as failures, never as free passes.

Only http and https URLs are audited, one page per run. The audit sees the HTML as served, not as rendered: content injected purely by client-side JavaScript is invisible to the fetch, so a page that builds its headings or JSON-LD in the browser can score lower than the rendered version deserves. Conversely, markup that exists only for crawlers is scored on its face. Bot walls matter too: if the origin blocks the audit's fetch, the audit reports that failure rather than scoring a page it never saw.

The 50% line is a display threshold, not a quality gate. A page at 45 / 100 that passes every check at 0.51 is shown with 'Nothing critical', because the failure list is empty even though the score is low. Treat the two outputs together: the score measures overall confidence, the list names specific weaknesses. The audit is also a snapshot of a single fetch at a single timestamp; it says nothing about whether the page changes afterward, and it does not evaluate whether named sources actually exist or are cited accurately, only whether they are named.