Toolbox · Output validation

Markdown & citation checker

Models emit markdown that looks finished and fails on contact: a citation with no reference, a relative link that only worked inside the chat window, a table one delimiter row short. Paste the output and read it rendered, with every broken link, undefined reference and shifted table listed underneath.

react-markdown · remark-gfmRuns in your browserNothing uploaded

Twenty-five instruments on one bench.

Live tool

Offline · nothing leaves this tab

Markdown from the model

Rendered output

Quarterly review summary

The review cycle closed with 1,200 items processed [1], up from 940 the quarter before. See the full methodology for how items are counted.

MetricQ3Q4
Items9401,200
Returned61

The workflow runs three passes:

{ "pass": "structure", "score": 82 }

screenshot

Previous cycles are documented in [the archive][archive].

Structure

Not safe to publish

Broken links or unclosed blocks reach the reader as-is.

Links
2
Citations
2
References
1
Images
0
Tables
1
Findings
4

Findings

1 broken · 3 to check

  • "full methodology" uses the relative path "methodology.md", which breaks outside the original site.

    Link · Check
  • "the archive" points at reference [archive], which is never defined.

    Reference · Broken
  • Citation [1] has no matching source definition at the foot of the document.

    Citation · Check
  • Row 8 has 3 column separators against 4 in the header, so its cells shift.

    Table · Check

Rendered is the only view that counts

Raw markdown is a promise about how a page will look. The preview keeps that promise visible: the table either has its header row or it collapses into a paragraph of pipes, the code block either closes or swallows the rest of the document. Reading the rendered version is the only way to see what the visitor will get.

The findings underneath name the cause rather than the symptom, so a wall of pipes in the preview becomes a row with the wrong number of separators, and a dead reference becomes a citation number with no definition.

The failures that survive a copy-paste

Citations are the common one: a model writes [1] and [2] in the prose and never emits the definitions, or emits them under labels that do not match. Relative links are next — paths like /images/report.png that were valid in the tool's sandbox and 404 on your domain. Then images with no alt text, unsafe javascript or data URLs, and tables whose second row is not a delimiter row.

Each of these is invisible in the chat window and visible to every reader on the published page, which is exactly the gap this check closes.

What it will not fix for you

The checker never follows a link, so it cannot tell you that a source is dead, irrelevant or fabricated. It validates structure: does the target look like a URL, does the reference exist, does the table line up. Confirming that the sources say what the document claims is a separate job, and the console plus a named reviewer are where it happens.

Questions about this tool

Which markdown dialect is used?
GitHub-flavoured markdown: tables, strikethrough, task lists and fenced code with syntax highlighting when a language is named.
Does it check that links work?
No network requests are made. The tool checks the shape of each target and whether its reference is defined, not whether the destination is live.
Is my markdown stored?
No. The text stays in this browser tab and the audit runs locally on every keystroke.

Toolbox

Fix the prose here, then check what the prose cannot show.

The console runs structural, claim and formatting checks on the same draft, and a named reviewer takes on anything with consequences.