Free llms.txt validator

Enter a domain to check its llms.txt file and the discovery links on its home page. No signup is needed.

This checks the file's structure. It does not give your site an agent-readiness score.

The validator requests the llms.txt file and the home page. It does not crawl the rest of the site.

Try it with turva.dev

Result: valid

https://turva.dev/llms.txt

Pass 10Warning 0Fail 0Information 0

Pass File exists at /llms.txt HTTP 200
Pass Response is plain text text/plain
Pass Starts with an H1 title "# turva.dev"
Pass Blockquote summary after the title "> Agent-readiness audits and advisory for product teams."
Pass H2 sections group the content 9 sections, 5 carrying a file list
Pass Markdown links an agent can follow 75 links, all absolute URLs
Pass Small enough to be cheap to read 10501 bytes
Pass No HTML markup in the file plain markdown
Pass Home page points to its llms.txt (v2) rel="describedby" to /llms.txt
Pass Home page points to a markdown version (v2) rel="alternate" type="text/markdown" to https://turva.dev/index.md

The result shows what each check found and what to do next.

The two v2 discovery checks are informational and do not change the structural result.

A structure check against the llms.txt format, not an agent-readiness score.

How to use it

The browser page and the JSON response run the same checks, listed below.

What the validator checks

Eight checks examine the file:

Two more checks look at the home page:

These two v2 checks report pass or information. They cannot produce a warning or a failure and do not affect the structural result. The format reached v2 in August 2026, and the version history is in llms.txt explained.

There is no total and no percentage. Eight structural checks can honestly report pass, warn or fail, and a number stacked on top of them would look like a score without measuring one.

What a valid result tells you

It tells you that the file passed the structural checks. It does not show whether an assistant reads the file, mentions your site or answers correctly.

The website and API audit measures agent readiness with an independent public scanner, published security scans and a manual review. For background on the file itself, read llms.txt explained.

What is fetched

The validator requests two documents: /llms.txt and the home page. A path in the address you enter is not used, and the report names it in an information line. Redirects are followed only to the same host or its www counterpart. The rest of the site is not crawled.

Fetched content is checked and discarded. The response uses a no-store header.

The address you enter is part of the request URL, so it appears in the Worker logs, which are kept for at most seven days as the legal page describes. Cloudflare's documentation says that when the checked site is not hosted on Cloudflare, the request to it carries your IP address in the CF-Connecting-IP header, and a Worker cannot remove that header.

Use it from an agent or CI

For JSON, request:

GET https://turva.dev/llms-txt-validator?url=example.com
Accept: application/json

The response contains the same checks and uses a no-store header.

For CI, the open npm package turva-llms-txt-validator provides the llms-txt-validate command. For a completed validation its --json output has the same target, summary and checks as the web tool's JSON. Errors are shaped differently. For an invalid domain or a fetch failure, the command returns the error and the masked target, plus a code when there is one. For an unknown option or a missing or extra target it returns the error only. The hosted tool returns the error alone for an invalid domain or a fetch failure, and the error with a docs link when the url parameter is missing.

Run:

npx turva-llms-txt-validator your-domain.com --strict

The command runs the package's strict validation. The two v2 discovery checks do not fail the build, since they are reported as information.

All free tools on this site are collected on the tools page.