Web / SEOllms.txtAI discoveryMarkdown

llms.txt Validator

Validate the required initial H1, optional summary and project details, and any H2 resource lists with link titles, URLs, optional descriptions, findings, and source-line evidence.

Only the initial H1 is required. A file may also contain a blockquote summary and additional project details before its H2 sections. If H2 sections are present, their resource entries contain Markdown links and may include an optional description after a colon.

Inputs

llms.txt Validator is one of 24 directly executable, read-only WebMCP diagnostics registered on the root page. It returns a structured result using the same canonical description in document.modelContext, tool pages, tools.json, well-known manifests, OpenAPI, and JSON-LD.

Example

Paste a draft or fetch https://example.com/llms.txt, then check the title, summary, project details, sections, resource titles, URLs, optional descriptions, findings, and source lines.

The small llms.txt convention, scoped honestly

llms.txt is a community convention from llmstxt.org, not an IETF or W3C standard and not a guarantee that a model will read the file. Its required structural core is deliberately small: the first structural element is one H1 title, using ATX (#) or Setext (= underline) Markdown syntax. An optional blockquote summary and optional detail text may follow, and the document may contain zero or more H2 sections.

H2 sections are not restricted to link-only file lists. They may contain ordinary Markdown, nested headings, prose, lists, relative links, fragments, reference links, and Unicode. The validator checks the required H1 and Markdown boundary cases, inventories sections and links as evidence, and keeps grammar findings separate from fetch status, redirects, media type, and size.

Validating drafts before the world sees them

Validate drafts locally first. Pasted Markdown is analysed entirely in the browser, which means an unpublished llms.txt can be checked without exposing it anywhere. Fix structural findings such as a missing or duplicated initial H1, an H2 before the H1, an unclosed fenced block, or an unresolved reference link. H2 resource entries are parsed as Markdown links; other H2 content remains visible as raw evidence and is reported as partially or not interpreted.

Then check the published reality. The URL mode fetches a live /llms.txt through the same-origin helper and answers a different question: not whether your draft is well-formed, but whether what the site actually serves matches what you meant to publish. Deployment pipelines, redirects, and content negotiation all sit between the repository and the wire, and the second check regularly catches what the first one cannot.

Fetch evidence and Markdown structure

Pasted content stays in the browser. URL fetches go through /api/admin-tools-live.php with public-host, port, timeout, path, and response-size guards. HTTP status, redirects, Content-Type, and size are reported as transport evidence separately from Markdown grammar. The validator does not grade prose quality and cannot promise that any crawler or model reads or honors the file.

Frequently asked questions

What is the minimum valid llms.txt shape?

Only the initial H1 is required. A file may also contain a blockquote summary and additional project details before its H2 sections. If H2 sections are present, their resource entries contain Markdown links and may include an optional description after a colon.

Can I validate a draft without publishing it?

Yes — that is the intended first step. Paste the draft and run the local validation; no fetch happens and nothing leaves the browser until you explicitly request a URL check.

Why is the URL fetch routed through a same-origin helper?

Because browsers cannot read arbitrary cross-origin text files under CORS. The helper performs one narrow, size-limited fetch of a public /llms.txt after your click and hands the bytes back for analysis.

What belongs in the Optional section?

The convention gives a section named Optional special meaning for material that may be skipped when context is scarce. The section itself is optional, and other H2 sections may use normal Markdown rather than a prescribed list-only grammar.

Does a valid llms.txt guarantee that AI systems use it?

No. The convention is an offer, not a contract. Validation removes the structural reasons for a crawler to ignore the file; whether an operator reads it remains that operator's decision.

How does llms.txt relate to robots.txt and sitemap.xml?

They answer different questions: robots.txt states access policy, the sitemap enumerates URLs for indexing, and llms.txt curates what a language model should read first. A coherent site keeps the three consistent instead of treating them as substitutes.