spyc.ai

Free tool

LLMs.txt Validator

Validate llms.txt and llms-full.txt against the proposed format, line by line.

How it works

What is the LLMs.txt Validator?

The LLMs.txt Validator is a free tool that checks an llms.txt or llms-full.txt file against the llmstxt.org format. It looks for the required H1 title, the summary blockquote and H2 link sections, tests whether every link in the file responds, and gives a score out of 100 with the problems to fix.

How to use the LLMs.txt Validator

  1. Enter a website to fetch its live file, or leave it empty and paste the file into the box below. Add the website with a pasted draft so relative links can be tested.
  2. Choose the file to check: llms.txt or llms-full.txt.
  3. Press Validate LLMs.txt.
  4. Read the verdict and score out of 100, then the five-part summary: Markdown format, H1 title, quote block, project details and H2 file lists.
  5. Check the details for any link that did not respond, each listed by URL, and the suggestions. The Formatted Preview tab shows the file that was checked.

What is the llms.txt format?

An llms.txt file is markdown in a fixed order. First an # H1 naming the project, which is the only required element. Then an optional > blockquote with a one-line summary, then any amount of plain prose with no headings. Then ## H2 sections, each holding a list where every item is - [Name](url), optionally followed by : description.

One heading has a reserved meaning. An H2 named ## Optional marks links a reader can skip when it is short on space. Anything outside this shape is still valid markdown, but a parser following the proposal ignores it.

What makes an llms.txt file fail validation?

A missing H1 fails the file outright, because it leaves a reader with nothing to call the site. So does any link that does not respond: this validator sends a request to every link and lists each one that fails or times out. A missing summary or missing H2 sections passes with a warning.

Write every link as [Name](url), because that is how the format marks a link, and a bare URL in plain text is not one. To test relative links such as /docs/start, enter your website so the validator can resolve them against it.

How do I test my llms.txt before publishing?

Paste the draft, or one written by the LLMs.txt Generator, with your website filled in, so the validator can resolve and test every link. Fix what it reports, publish the file, then run it again with only the website to check the live copy.

The live run confirms the file is reachable at the root, because the validator reports an error when the file does not load. Also open the file in a browser and confirm you see plain text rather than a styled page.

How is the llms.txt validator score worked out?

The score adds up five parts to a maximum of 100. Every file gets 20 for markdown format. An H1 title adds 25, a summary blockquote adds 15, and at least one H2 section adds 20. The last 20 depend on links: the share of tested links that respond, rounded down, so one dead link among forty still costs a point. A file with no links to test gets the full 20.

The verdict is separate from the score. The file fails when the H1 is missing or any link does not respond. It passes with warnings when the summary or the H2 sections are missing. With none of those problems, it passes.

Fix problems in the order the score weights them: the H1 first, then the H2 sections and any dead links, then the summary.

How does the validator test the links?

It sends a HEAD request to every markdown link in the file and waits up to six seconds for each. A success status after redirects counts as working, and so do 401, 403 and 405, because those mean the server answered but refused the request or the method. Anything else, or no answer in time, is listed by URL as inaccessible.

Relative links are tested only when you give a website to resolve them against. Without one, they are counted and reported as unresolved, and left out of the score. If a link you know works is listed as inaccessible, open it in a browser: some servers mishandle HEAD requests or block automated ones. The Broken Link Checker is a second opinion on any page's links.

Does the validator check llms-full.txt differently?

No. When you choose llms-full.txt, the validator fetches /llms-full.txt from your site, or reads what you pasted, and runs the same structure checks and link tests as for llms.txt.

The file is usually much longer, so expect more links and a slower run. A full-text file may have fewer structured link lists and more prose, which the validator accepts: it needs only the H1 to avoid an error, and missing sections are a warning.

Check its size as well. A file of several megabytes is slow to fetch and may be cut short by tools with input limits, so keep llms-full.txt to the pages that matter rather than the whole site.

What is the Project Details check?

It looks for a line containing Project details:, the kind of metadata line some llms.txt templates use for a repository or documentation link. It is not part of the llmstxt.org proposal.

The check is informational. A file without it shows the item as optional and gets a suggestion to add one, but its score and verdict do not change. Leave it out if it does not fit your site.

Questions

Is there an official llms.txt validator?
There is no official llms.txt validator. llmstxt.org publishes the proposal and a reference parser, but no body certifies files. This validator checks the documented structure and whether each link responds.
Is llms.txt a standard?
llms.txt is not a standard. It is a proposal published by Jeremy Howard of Answer.AI in September 2024, with no standards body behind it and no confirmation from major AI providers that they read it.
What does an llms.txt file look like?
A minimal llms.txt file has a title line such as # Example Co, a summary line such as > Accounting software for small agencies, and a section such as ## Docs followed by link lines like - [Quick start](https://example.com/docs/start): set up in ten minutes.
Do the links in llms.txt have to be absolute URLs?
In practice, links in llms.txt should be absolute URLs. The proposal defines no base URL, so a reader that fetched only the file cannot resolve a relative path. Write full https:// addresses.
Does llms-full.txt follow the same format?
llms-full.txt uses the same H1 and section structure as llms.txt, but contains the full text of each page instead of links to it. Link checks matter less there, and file size matters much more. The LLMs.txt Checker shows whether a site publishes either file.
Why does a working link show as inaccessible?
The LLMs.txt Validator tests each link with a HEAD request and a six-second limit. A server that times out, returns an error to HEAD requests, or blocks automated requests shows as inaccessible even when the page loads in a browser. Open the link to confirm, then check the server's bot rules.
What does a score of 100 mean?
A score of 100 means the file has an H1 title, a summary blockquote and at least one H2 section, and every link the validator could test responded. It does not mean any AI provider reads the file, because none has confirmed that it does.
Can I validate llms.txt on a subdomain?
Yes. Enter the subdomain as the website, such as docs.example.com, and the validator fetches the file from the root of that host. Relative links in the file are then resolved against the same host.

AI Visibility Tools

More in AI Visibility Tools

AI Brand Visibility Checker

Ask the answer engines about your brand and see which name you, which name a competitor, and which name nobody.

Analyze visibility

ChatGPT Visibility Checker

How often ChatGPT names your brand or your site when asked the questions your buyers ask.

Check ChatGPT visibility

Grok Visibility Checker

How often Grok names your brand or your site when asked the questions your buyers ask.

Check Grok visibility

Ready when you are

Before your next buyer asks AI about you, ask AI about yourself

One check, four engines, about twenty seconds. We show you the answers before we ask for anything.