Free tool

llms.txt Validator

Check an existing llms.txt against the convention: structure, link format, descriptions and duplicates.

Validated in your browser — nothing is uploaded.

What “valid” can mean here

llms.txt is a proposed convention, not a specification with a conformance suite. There is no standards body to be invalid against and no test suite to pass, which means a validator has a choice: report only what the proposal actually says, or start inventing rules.

This one reports three levels, and the line between them is that distinction:

  • Error — the file does not have the shape the proposal describes. No H1, no sections, a list item that is not a link.
  • Warning — permitted, but defeats the purpose. No summary, no descriptions, relative URLs, duplicate entries.
  • Note — an observation, offered without a recommendation.

House style is not reported at all. If your section is called Handbook rather than Docs, that is not a finding.

The structure it checks

# Site name                                    ← required

> One sentence describing the site.            ← the highest-value line

## Docs                                        ← at least one section

- [Getting started](https://x.com/start): why  ← link, then description

## Optional                                    ← defined: safe to skip

Specifically:

  • Exactly one H1. A second one is reported — the file describes one site.
  • A blockquote summary. Not required, but it is the line most likely to be read and reused verbatim, so omitting it gives up the most valuable part of the file.
  • H2 sections containing link lists. Links appearing before any section heading have nothing to belong to.
  • Entries as - [Title](url): description. A bare line of text in a link list is an error; a link without a description is a warning.
  • At most one Optional section, the one section name the convention gives a defined meaning.

The finding worth acting on first

If the validator reports that no entry has a description, fix that before anything else. A file with perfect structure and no descriptions is a sitemap in markdown — it carries the same URLs you already publish, with less metadata than the XML, and an implication of curation that is not there.

Duplicated URLs point at the same problem from another direction: they usually mean the file was assembled from more than one export and nobody reconciled them. Both findings say the file was generated rather than curated, and curation is the entire value.

Before spending much time on this

Worth repeating what the guide says at length: no major answer engine has publicly confirmed reading llms.txt as a retrieval or ranking input. Publishing one is cheap insurance, not a lever. A file worth validating is worth an hour; it is not worth a week, and it is certainly not worth doing instead of making your pages quotable.

Frequently asked questions

Is there an official llms.txt validator?
No, and there cannot be one in the strict sense. llms.txt is a proposed convention published at llmstxt.org rather than a specification with a conformance suite, so there is no authority to be formally invalid against. This tool reports whether a file has the shape the proposal describes, and separates that from choices that are permitted but defeat the purpose.
What makes an llms.txt invalid?
In practice, three things: no H1 identifying the site, no sections to point a reader at, and list items that are not links. Those are structural — the file does not have the shape the proposal describes. Everything else, including a missing summary or undescribed links, is permitted but undermines the reason to publish the file at all.
Do the link descriptions matter?
They are the point. Without them the file is a sitemap written in markdown: the same URLs you already publish, with less metadata than the XML. The descriptions are what let a model understand the site without fetching every page, so a file where none of the entries are described has kept the format and discarded the value.
What is the Optional section for?
The convention defines it specifically as material a reader may skip when context is short. Legal pages, terms, privacy policies and administrative pages belong there. It is the one section with a defined meaning, which is why more than one of them is worth flagging.
Should the URLs be absolute?
Yes. A model reading the file on its own has no base URL to resolve a relative path against, so a relative link may simply be unusable. This tool flags relative URLs as a warning rather than an error, since the proposal does not forbid them.
Why are duplicate URLs flagged?
Because they usually mean the file was assembled from more than one export and nobody reconciled them. A duplicate wastes a slot in a file whose whole value is selectivity, and it suggests the list is generated rather than curated. Trailing slashes are normalised before comparing, so /docs and /docs/ count as the same page.

Starting from scratch instead? The generator builds the scaffolding from a sitemap and leaves you the descriptions.

Open the generator
Go multilingual free
Open source · your data stays yours
Start free