← All posts
5 min read

How to Validate Your llms.txt File (and Fix What It Flags)

llms.txt is easy to get almost right. Here's how to validate one against the spec and fix the handful of mistakes that trip most files up.

What is llms.txt, and why validate it?

llms.txt is a proposed standard (llmstxt.org) — a Markdown file at the root of a site that gives AI crawlers and answer engines a clean, curated summary of the content and the links worth reading, instead of making them guess from a full HTML page. The format itself is small: a single H1 title, an optional “>” blockquote summary, optional free-form Markdown, and zero or more H2 sections whose bodies are bullet lists of Markdown links.

Small doesn't mean forgiving. Because the format has strict structural rules — one H1, not two; links as [name](url), not bare URLs — it's easy to write a file that reads fine to a person but breaks a parser. That's why it's worth taking a minute to validate your llms.txt file before you publish it, the same way you'd lint a robots.txt or a sitemap.

How to validate an llms.txt file in under a minute

  1. Open a free llms.txt validator — it runs in the browser, so nothing you paste is uploaded anywhere.
  2. Paste the raw Markdown of your llms.txt file into the box.
  3. Read the results: errors mean the file breaks the spec, warnings are recommended fixes, and info notes are style tips.
  4. Fix errors first — usually a missing or duplicated H1 title — then work through the warnings.
  5. Re-check after editing until the file comes back valid, then publish it at /llms.txt on your domain.

Common llms.txt mistakes a checker catches

  • No H1, or more than one. The file must open with exactly one # Project Name heading.
  • Missing summary blockquote. A short >line right after the title isn't required but is strongly recommended.
  • Bare URLs instead of Markdown links. A link list should read - [name](url): notes, not a plain URL dropped into a bullet.
  • Empty link labels or URLs.A link with no visible text or no destination isn't useful to a crawler parsing the file.
  • Headings deeper than H2. llms.txt only expects H1 for the title and H2 for section headings — an H3 is a sign the structure has drifted from the spec.

What a valid llms.txt file looks like

Structurally, a valid file follows the same order every time:

  1. One H1 line with the project or site name.
  2. An optional blockquote with a one- or two-sentence summary of what the site is.
  3. Optional free-form Markdown with more context.
  4. One or more H2 sections (for example “Docs” or “Guides”), each a bullet list of Markdown links to the pages worth reading.

That's the whole spec — there's no hidden complexity a validator is protecting you from, just a structure that's easy to drift away from by hand.

Why this matters beyond the file itself

An llms.txt file is only useful if the pages it links to are actually worth reading by an AI system, which is the same problem AI research assistants solve on the reading side — retrieving the right passages and citing them instead of guessing. If you want to see that mechanism explained, our RAG explainer covers how tools like Doxy turn a page or document into something a model can answer from accurately.

Try the free validator, then explore the rest of Doxy

Doxy built the llms.txt validator as a free, no-signup tool because getting this small file right shouldn't require guesswork. Once your llms.txt is valid, the same underlying idea — AI document chat grounded in real sources — powers the rest of the product: paste a page into a project to chat with a website, or run document Q&A over your own PDFs and files with citations on every answer.

Start chatting with your documents

Upload a file or paste a link and ask your first question in seconds. Free to start.

Get started free

We use cookies for analytics to understand how Doxy is used and improve it. You can accept or decline — declining still lets you use Doxy normally. See our Privacy Policy.