What is llms.txt?
llms.txt is a proposed standard โ a markdown file placed at the root of your site (/llms.txt) that gives large language models a concise, curated map of your most useful content. Unlike robots.txt (access control) or sitemap.xml (every indexable page), llms.txt is a hand-picked, LLM-friendly overview meant to be read at inference time.
What this checker validates
The validator follows the structure defined in the specification. Sections must appear in this order:
1. H1 title (required)
A single H1 with the project or site name. This is the only required element.
2. Summary blockquote
A short > blockquote summarizing the project.
3. Detail sections
Optional non-heading markdown (paragraphs, lists) with extra context.
4. File lists
H2 sections with markdown link lists: [name](url): notes.
Link checks
Optionally tests every link in your file to confirm it resolves.
Live preview
See how your llms.txt renders, with invalid list items flagged.
Sample template
A minimal valid file looks like this:
# Title > Optional description goes here Optional details go here ## Section name - [Link title](https://link_url): Optional link details ## Optional - [Link title](https://link_url)
Frequently asked questions
Is llms.txt required for my website?
No. It is an optional, emerging standard. It is most useful for documentation-heavy sites, products, and any site you want LLMs and AI agents to understand accurately.
Where should the file live?
At the root of your domain, served at /llms.txt as plain text/markdown. Subpath hosting is also allowed by the spec.
What is the only required section?
The H1 title with your project/site name. Everything else โ the summary blockquote, detail paragraphs, and file-list sections โ is optional but recommended.
How is llms.txt different from robots.txt?
robots.txt controls crawler access. llms.txt provides a curated, LLM-readable overview of your content โ they serve different purposes and coexist.
Does this tool store my data?
No. Validation of pasted text runs in your browser. URL fetching and link checks are proxied through a stateless serverless function only to avoid CORS โ nothing is stored.