llms.txt Validator
Validate your llms.txt against the full llmstxt.org spec. Check structure, link format, token count, and more. Free — no account needed.
What each check tests
File accessible (HTTP 200)
The file must be publicly reachable at yourdomain.com/llms.txt and return HTTP 200. A 404, 403, or redirect to a login page means AI crawlers cannot read it.
Content-Type: text/plain
The server must return a Content-Type header that includes text/plain. Returning text/html or application/json causes AI parsers to reject the file.
H1 heading present
The only required element in the spec. The first non-empty line must be a Markdown H1 heading (# followed by space and text) containing your site name.
Blockquote summary present
A blockquote (> text) anywhere in the file. Recommended by the spec as a concise summary that AI systems can display in place of the full file.
At least one H2 section
H2 headings (## text) delimit file list sections. Without them, your llms.txt is an unstructured blob — AI tools cannot reliably extract link groups.
H2 file lists use [name](url) links
Every URL in an H2 list section must be a markdown hyperlink [Label](url). Bare URLs have no label, making them less useful for AI citation and discovery.
Token count ≤ 2,000
The spec recommends keeping llms.txt under 2,000 tokens (~8,000 characters) so it fits in short AI context windows. Move detailed content to llms-full.txt.
llms-full.txt exists
An optional companion file at yourdomain.com/llms-full.txt for comprehensive documentation. Not required, but recommended for sites with extensive content.
UTF-8 encoding
The file must be plain UTF-8 text with no null bytes or replacement characters. Files saved with incorrect encoding can cause parsing failures in AI tools.
📖 Implementation Guide
Step-by-step guide to creating a compliant llms.txt
🔍 Accessibility Checker
Quick check — is your llms.txt publicly reachable?
📝 Submit Your Site
Get listed in the directory for free
Frequently Asked Questions
What does this validator check?
It runs 9 checks against your llms.txt file: HTTP 200 accessibility, Content-Type header, H1 heading presence (the only required spec element), blockquote summary, H2 sections, [name](url) link format in file lists, token count (≤ 2,000 recommended), llms-full.txt existence, and UTF-8 encoding.
What is the difference between the Checker and the Validator?
The llms.txt Checker only verifies that your file exists and returns HTTP 200 — it does not read the content. The Validator fetches and parses your file, running it against all structural and formatting rules from the llmstxt.org specification.
What makes an llms.txt file spec-compliant?
The only hard requirement is an H1 heading. Recommended elements include a blockquote summary, H2-delimited sections, and file lists where every URL is a markdown hyperlink in [name](url) format. The file should be plain text (text/plain), UTF-8 encoded, and under 2,000 tokens.
What is the [name](url) link format requirement?
Any URL in an H2 file list section must be wrapped in a markdown hyperlink: [Link Name](https://example.com/). Bare URLs like 'https://example.com/' without a label are not spec-compliant. This allows tools to extract link labels for display.
Should my llms.txt be under 2,000 tokens?
Yes, the llms.txt standard recommends keeping the file under 2,000 tokens (~8,000 characters) so it fits in limited AI context windows. If you need to include more detail, create a companion llms-full.txt at the same root with no size limit.
Do I need an llms-full.txt file?
No, llms-full.txt is optional. It is a companion file for comprehensive documentation — API references, full page exports, extended descriptions. AI systems read llms.txt first and only fetch llms-full.txt when they need deeper detail.