Free llms.txt validator
Enter a domain and this page fetches its /llms.txt and checks the structure: the first non-empty line is an H1 title, an optional blockquote summary, H2 sections with link lists. Free, no signup, nothing stored.
How to use it
- In a browser: enter a domain in the field above.
- Without typing anything: run the checks against this site's own file.
- As an agent:
GET https://turva.dev/llms-txt-validator?url=example.comwithAccept: application/json.
What it checks
- The file exists at /llms.txt and returns HTTP 200
- The response is plain text, not an HTML error page
- The file starts with an H1 title
- A blockquote summary follows the title (recommended by the format)
- H2 sections group the content
- Markdown links parse and use absolute URLs
- The file stays small enough to be cheap for an agent to read
- No HTML markup in the file, since llms.txt should be plain markdown (HTML tags are flagged as a warning)
What it does not do
This is a structure check against the llms.txt format, not an agent-readiness score. A full audit measures discoverability, content accessibility, access control and more: see services, or start with llms.txt explained.
Only the target site's /llms.txt is fetched, following a redirect to the same host or its www twin when there is one. Agents can call this with Accept: application/json.
All free tools on this site are collected on the tools page.
Frequently asked
What is llms.txt?
llms.txt is a plain text file at the root of a site that tells AI agents what the site contains and where the important content lives. It opens with the site name and a short summary, then lists the key pages as markdown links grouped under headings. This validator checks that structure.
What does the validator check?
Eight structural checks: the file exists at /llms.txt and returns HTTP 200, the response is plain text rather than an HTML error page, the file starts with an H1 title, the recommended blockquote summary follows it, H2 sections group the content, markdown links parse and use absolute URLs, the file stays small enough to be cheap for an agent to read, and the file carries no inline HTML, since llms.txt should be plain markdown.
Why is there no score?
Deliberately. Eight structural checks can honestly report pass, warn or fail, and a number stacked on top of them would look like an agent-readiness score without measuring one. Agent readiness is measured with an independent public scanner, published security scans and a manual review, which is the paid audit rather than this free check.
How does an agent call the validator?
GET https://turva.dev/llms-txt-validator?url=example.com with an Accept: application/json header returns the same checks as JSON. Only the target site's /llms.txt is fetched, following a redirect to the same host or its www twin when there is one, and the response carries a no-store header.
Does the validator store anything?
No. The fetched file is checked and discarded, the result goes back with a no-store header, and there is no signup. The validator reads the single llms.txt file, following a redirect to the same host or its www twin when there is one, and never crawls the rest of the site.
Can I run the checks in CI?
Yes. The same eight checks are published as an open npm package, turva-llms-txt-validator, with a llms-txt-validate command whose --json output matches this page's JSON exactly. One line in a pipeline, npx turva-llms-txt-validator your-domain.com --strict, fails the build when the file breaks.