My Tool Studio
SEOURL-first

llms.txt Validator

This llms.txt validator checks a site's llms.txt file against the format described at llmstxt.org. Enter a domain and it fetches /llms.txt, or paste the file if it is not published yet. You get a score, with each check marked pass, warning or error: one H1 title on the first line, a blockquote summary, H2 sections with Markdown link lists, absolute URLs and duplicate links. It requests up to 30 links to confirm they resolve, reports the HTTP status, content type and size the server sends, looks for llms-full.txt and reads robots.txt to see whether AI crawlers may fetch the file. When something is wrong, it writes a suggested fixed file you can validate, copy or download.

Always freeNo sign upRuns in your browser
Blocked, private, or unpublished? Paste llms.txt content to validate

How to use

01

Enter your site or paste the file

Type your domain into the URL field and click Validate llms.txt. For a draft, a private site or one behind a firewall, open the paste panel, paste the text and click Validate pasted content.

02

Read the score, checks and HTTP response

The score sums up the result. Below it, the HTTP response badges show the status and content type, then errors come first, then warnings, then passes, with line numbers.

03

Fix the file and check again

Open Suggested fixed file to see what it changed, such as a missing summary or broken links removed. Click Validate this version to test it, then copy or download it and publish it at /llms.txt.

Why llms.txt Validator

An annotated llms.txt example

Here is a short, valid file for a made-up bakery site, one line per row, with what each part does. The format is plain Markdown, so any text editor works.

Use absolute https URLs, keep each description to a short phrase, and link to pages with clean, readable content, since the file exists to guide readers to them. The Optional section is the place for links that can be skipped when space is short.

LineWhat it is
# Rolling Pin BakeryH1 title. Required, exactly one, and it must come first.
> Small-batch bakery in Leeds. Order online for collection.Blockquote summary. Recommended: one or two sentences about the site.
We bake daily and deliver within the city.Optional plain paragraph with extra notes, placed before the first section.
## ProductsH2 section heading that groups related links.
- [Bread](https://rollingpin.example/bread): daily loaves and pricesList item: a Markdown link, then an optional description after a colon.
## OptionalA special section for secondary links.
- [Our story](https://rollingpin.example/about)A link in the Optional section.

Common questions

What does this llms.txt validator actually check?
The structure first: exactly one H1 title as the first line, a blockquote summary after it, H2 sections that each hold a Markdown link list, list items written as [name](url), absolute URLs, and no duplicate links. Then it requests up to 30 unique links to confirm they resolve. When you validate by URL, it also looks for llms-full.txt and reads robots.txt.
Can I check another site's llms.txt with the validator?
Yes. It works on any public domain, so you can look at a competitor's file or a well-known example as easily as your own. Enter the domain and it reads that site's /llms.txt and reports the same checks.
What is the difference between validating and generating llms.txt?
Generating builds the file from your pages; validating checks a file that already exists. If you have not written one yet, start with the llms.txt Generator, publish the result at /llms.txt, then come back here to confirm it parses and every link resolves.
How does the llms.txt validator check robots.txt for AI crawlers?
After fetching your file, it reads robots.txt from the same site and applies its Allow and Disallow rules to /llms.txt for GPTBot, ClaudeBot, PerplexityBot, Google-Extended and CCBot. Each bot uses its own group if one exists, otherwise the * group, and the most specific matching rule wins. If the site has no robots.txt, every bot is shown as allowed.
Does the llms.txt validator detect an llms-full.txt file too?
Yes, when you validate by URL. It requests /llms-full.txt from the same site and, if found, shows its size and line count with a link to open it. Pasted content has no site to check, so llms-full.txt and robots.txt are skipped in paste mode.
Why do the links inside my llms.txt matter?
The file exists to point readers, human or AI, at your most useful pages. A link that returns 404 sends them nowhere, so the validator requests the first 30 unique absolute links and lists broken ones at the top. Relative links are flagged in the checks instead, since they are not requested.
Why does the llms.txt validator say no file was found when it exists?
The file must sit at the root, such as https://example.com/llms.txt, and return status 200 with text in it. A file in a subfolder, a redirect to a login page, or a firewall that blocks server requests will all cause this. When a firewall is the cause the tool says so, and you can paste the file instead.
Do AI tools actually read llms.txt files?
llms.txt is a proposed format, not an official standard, and support varies. Some AI tools and documentation platforms use it, but the major AI crawlers have not all said they read it. It is cheap to publish and useful as a clean map of your site, but do not expect it to change on its own how any AI system treats you.
Is my llms.txt file stored when I validate it?
No. The tool fetches or receives the file for a single check and returns the result. Nothing is saved and there is no sign up, so validating a draft or a private file is safe.
What does the suggested fixed llms.txt change?
Only the structure, never your wording. It puts one H1 title first, turns extra H1s into H2 sections, adds a placeholder summary when there is none, wraps bare URLs as [name](url) links, makes relative links absolute, and removes duplicate and broken links. Each change is listed, so replace the placeholders with your own text before you publish.

More SEO tools

View all