IndexHalo
FREE TOOL · NO SIGNUP

Is your llms.txt
actually valid?

Enter a domain. We fetch the live /llms.txt, run eight structural checks against the convention, and show exactly what an AI agent would find — including whether the file exists at all.

LLMS.TXT CHECK8 CHECKS · LIVE FILE
Reads only /llms.txt and /llms-full.txt from the domain. Nothing is stored.

Why validation is a separate job from generation

Plenty of sites now publish an llms.txt; far fewer have ever checked what they actually serve. The gap between the two is wider than you would expect, because the failure modes are silent: the file renders fine in a browser while being useless to the agents it was written for.

The most common failure is a file served as HTML. A CMS route catches the path, wraps the content in a template, and every agent requesting the file receives a web page where it expected Markdown. The second most common is a redirect — to a www variant, a trailing-slash route, or a marketing page — that an agent following the convention will not chase. Third is the well-intentioned file that lists forty relative links, all of which break the moment the file is read anywhere except your own origin.

None of these appear in a visual check. All of them appear here, because this validator requests the file exactly as an agent does and reports what actually came back: the content type, the structure, the link forms, the size.

The eight checks, and why each exists

Exists and is reachable. The convention places the file at the domain root over HTTPS, answering an anonymous request. Anywhere else is invisible.

Served as plain text. Agents parse Markdown, not your site template. A text/html content type usually means a CMS has captured the route.

Opens with a # title and carries a > summary. The first heading names the site; the blockquote is the one-paragraph orientation an agent reads before deciding whether to fetch anything else. Files missing either force every consumer to guess.

Uses ## sections with curated, absolute links. The value of the file is curation — a handful of authoritative pages grouped meaningfully, each with a full URL that works when the file is read away from your origin. A dump of every URL you own is a worse sitemap, not a better index.

No HTML, sensible size. Markup where Markdown belongs suggests the wrong thing is being served; a file past 100 KB has stopped being a curated index at all.

We also note whether the optional companion llms-full.txt exists, since agents that read one frequently look for the other.

What a passing grade does and does not mean

Passing all eight checks means the file is structurally correct and parseable — an agent that consults it will read what you intended. It does not mean the file improves your rankings, because llms.txt is not a ranking factor, and it does not guarantee any particular engine consults the file at all. Adoption is real but partial, and anyone claiming otherwise is guessing.

The honest case for keeping the file valid is cheapness: ten minutes of maintenance removes a whole class of ambiguity for the agents that do read it. That is worth ten minutes. It is not worth a strategy deck, and this page will not pretend otherwise.

If the validator reports no file at all, compose one with the free generator — its output passes these checks by construction. And since a valid file behind a blocked crawler helps nobody, confirm access with the crawler access checker while you are here.

Frequently asked questions

What does the validator actually check?+

Eight structural facts about the file your site serves at /llms.txt: that it exists, is served as plain text rather than HTML, opens with a # title, carries a > summary, uses ## sections, curates at least a few absolute links, contains no HTML markup, and stays under a sensible size. Each check reports what it found, not just pass or fail.

Is there an official llms.txt specification?+

There is a proposed convention with wide informal adoption but no ratified standard. This validator checks the structure that convention describes and that agents parsing these files in practice expect. Where the convention is ambiguous we validate the conservative reading.

My file fails a check — does that break anything?+

Usually it degrades rather than breaks. A file served as HTML or full of relative links is harder for an agent to use than no file at all, because it parses wrong rather than being skipped. The fix for every check here is small; most files pass everything after ten minutes of editing.

Why does it say my llms.txt was not found?+

The file must be served at the domain root — /llms.txt exactly — over HTTPS, and return plain text to an anonymous request. Files behind logins, bot walls or redirects to marketing pages read as absent to every agent, which is what the result reflects.

Can it validate a draft before I publish?+

The validator reads live URLs. To compose a correct file from scratch, use the free llms.txt generator and paste the output straight to your server — the two tools follow the same convention, so a generated file passes these checks.