Free tools / llms.txt checker
Do you serve an llms.txt, and is it any good?
llms.txt is a proposed convention: a short Markdown map at your site root telling AI systems what your site is and where the good pages are. This checks whether you serve one, and how it is structured.
Served, or not.
Useful, or not.
A file in the shape the proposal describes, and exactly what the check counts from it. The last line is the most common false positive: an origin that answers 200 at every path with an HTML page.
# Example Co
> What the company does, in one line.
## Docs
[Getting started](/docs/start): the short version
[API reference](/docs/api): every endpoint
## Company
[Pricing](/pricing): plans and limits
One title line, two section headings, three markdown links. That is the whole of what a parser can see.
Served at /llms.txt, HTTP 200 with a plain text body
Title found: Example Co
2 section headings, 3 markdown links
212 bytes, well inside the preview cap
On another origin: HTTP 200, but the body was an HTML page
A structure count, and nothing more. It does not judge whether the title describes the site or whether the links resolve.
An example file, written for this explanation rather than fetched from a real site. Enter your own domain above for your own numbers.
What it cannot tell you
- Whether anything reads it. Ahrefs measured 137,210 domains in May 2026 and found that 97 percent of the valid llms.txt files it identified received zero traffic that month, and that zero requests for non-existent llms.txt files came from AI bots. Crawlers fetch robots.txt unprompted because it is part of how crawling works. Nothing fetches llms.txt unless it was told the file is there. Read what the evidence says about llms.txt, published 15 June 2026, for the method and the caveats.
- Whether the file is any good. It counts sections and links; it does not check that a description is accurate, that a link resolves, or that the file follows the proposal.
- Whether the pages it points at can be read at all. A file pointing at content an AI crawler cannot fetch points at content that never arrives.
- Whether it is valid. There is no official llms.txt validator, because llms.txt is a proposal rather than an adopted standard. Anything calling itself one is applying somebody's reading of the proposal, including this.
Fetch the file.
Parse. Grade. Say so.
Three steps, and the third one matters most: the checker states what it did and did not verify rather than implying more.
-
Fetch /llms.txt
One request to the site root. A 404 is a result, not an error, and the report says plainly that no file is served.
-
Parse the structure
The convention expects an H1 with the site name, a blockquote summary, and H2 sections of Markdown links. The checker counts the parts a parser can count: the title, the sections, the links and the bytes.
-
Say what was not checked
The links are counted, never fetched: no URL inside the file is requested, so the result reports a link count and states plainly that it did not test whether anything resolves.
What the check returns
Three facts, none of which claim an assistant read your file, because nobody can verify that.
Whether a file is served at all
The HTTP status, plus a check that the body is not an HTML page. Many sites render a catch-all page at every path, so a 200 on its own proves nothing.
The structure, counted
The first line beginning with a single hash as the title, lines beginning with two hashes as sections, markdown inline links with a non-empty target, and the file size in bytes as served.
A preview of the file
The first 4,000 characters, rendered back on a result page that carries a noindex header and sits at an unguessable address.
Where the count stops
| The check reports | Read from | It does not |
|---|---|---|
| Whether a file is served | HTTP status, plus a check that the body is not an HTML page | Guess at other paths. Only /llms.txt at that origin is requested. |
| Title | The first line beginning with a single hash | Judge whether the title describes the site. |
| Sections | Lines beginning with two hashes | Check the sections match the proposal's suggested headings. |
| Links | Markdown inline links with a non-empty target | Fetch those links, or check that any of them resolve. |
| Byte size | The file as served, measured in bytes | Warn about a size limit. There is no agreed one. |
| A preview | The first 4,000 characters | Index it. The result page carries a noindex header. |
What we keep: the result, including that 4,000 character preview, is stored so the result page can render it back to you. It sits at an unguessable address, it is not indexed, and it is deleted after 18 months. An earlier version of this table said we do not store your file, which was not true.
If the check came back empty, fix these in order
The AI Visibility Score puts 50% on whether your text survives without JavaScript, 25% on whether named AI crawlers may fetch the page at all, 15% on structure and 10% on schema. That is 90 of the 100 points on things you can measure today. llms.txt is not in that 100 at all, so it is last on this list on purpose.
- Make sure your pages have text a crawler can read. This is 50% of the score and the reason a file of links can point at nothing. Start at Fix AI visibility by stack, then Why AI crawlers can't read your Next.js site or Why AI crawlers can't read your React site if that is what you are on.
- Confirm the crawlers are allowed in. 25% of the score, and one line in a file. Which AI crawlers does your robots.txt allow? answers it for every named token.
- Serve llms.txt as plain text, not as a page. If your host answers every path with an HTML shell, the file does not exist as far as any parser is concerned, whatever status code comes back.
- Give it a title and real sections. One line beginning with a single hash, then second-level headings grouping the links. The checker counts exactly those.
- Point it only at pages that already read well. A link to a page an AI crawler receives empty is worse than no link.
- Re-check, and keep your expectations honest. Lantad's own position on the file, printed in every report: Informational only. Independent 2026 data (Ahrefs, SE Ranking, Google documentation) shows no measurable citation effect from llms.txt. It is checked because it costs nothing and some assistants read it, but it moves neither crawling nor ranking.
A Lantad report checks llms.txt and says so, which is the only claim the evidence supports. The full model is in the methodology, and the format itself is defined in the llms.txt glossary entry.
Three people this is built for
It costs an hour to publish and nothing to maintain, which is the entire argument for doing it.
Documentation teams
You have a large docs site and want to point AI systems at the canonical pages rather than the release notes from 2023.
Marketers
You want one place that states plainly what the company is, in the words you would want repeated.
Engineers
You already serve robots.txt and sitemap.xml. This is the same class of file and the same amount of work.
llms.txt is a convention, not a standard, and this page will not pretend otherwise. No major AI vendor has committed to reading it, and serving one will not make you citable on its own. What it does is cheap: a single Markdown file that states plainly what your site is and points at the pages you would want quoted.
Lantad reports whether you serve one and grades its structure. It does not claim any assistant read it.
Common questions
Does publishing an llms.txt make AI engines cite you more?
There is no measurement showing that, and one large measurement pointing the other way. Ahrefs measured 137,210 domains in May 2026 and found that 97 percent of the valid llms.txt files it identified received zero traffic that month, and that zero requests for non-existent llms.txt files came from AI bots. We ship this checker and publish that finding anyway: what the evidence says about llms.txt. The honest case for the file is that it costs a few minutes and one file, not that it changes what AI engines do.
What exactly does this tool fetch?
One request, to /llms.txt at the root of the origin you enter, sent with GPTBot's published user agent and asking for plain text. Nothing else on your site is fetched, no links inside the file are followed, and a domain that has opted out of Lantad scanning is refused before any request is made.
What does it report back?
Whether the file is served, and when it is: the first heading in the file as its title, how many second-level section headings it contains, how many markdown links it lists, its size in bytes, and a preview of the first 4,000 characters. That is a structure count, not a judgement of the content.
Does it validate the file against the llms.txt proposal?
No. It counts the parts a parser can count: the first line beginning with a single hash as the title, lines beginning with two hashes as sections, and markdown inline links. It does not check that those links resolve, that the descriptions are accurate, or that the file follows the proposal exactly. There is no official validator, because llms.txt is a proposal rather than an adopted standard.
My site answers at /llms.txt but the check says I do not serve one. Why?
Because the response body was an HTML page. Many sites render a catch-all page at every path, which returns HTTP 200 for a file that does not exist. When the body starts with an HTML doctype or html tag we report that as not serving an llms.txt, rather than counting sections in a web page. Serve the file as plain text and check again.
Can I check a site I do not own?
Yes. llms.txt is a public file at a public path, and the check is a single ordinary GET. Domains whose owners have asked Lantad not to scan them are the exception: those are refused at intake and nothing is fetched.
Does any AI actually read llms.txt?
No major vendor has committed to it publicly, and we do not claim otherwise. It is a proposed convention with growing adoption on the publishing side. Lantad reports whether you serve one and how it is structured; it cannot and does not report that an assistant read it.
Then why bother?
Because the cost is close to zero and the downside is none. A single Markdown file that states what your site is and links the pages you want quoted is cheap insurance if the convention takes hold, and it is a useful exercise regardless: most teams cannot name their own ten most quotable pages.
Is llms.txt a replacement for robots.txt?
No. robots.txt controls access and is honoured today by every crawler that behaves. llms.txt is a content map and is honoured by nobody in particular yet. They do different jobs and one does not substitute for the other.
Does the scan check this too?
Yes. A missing llms.txt is raised in the full scan as a defect with a priority, alongside the parity, access and structure findings. This tool is the same check on its own, for when that is the only question you have.
One file, one hour, no downside.
Check whether you serve one and whether it holds up. If you do not, the hour is spent writing it yourself: the checker reports, it does not draft.