Keep

llms.txt validator

Validate an llms.txt file or URL. See line-by-line errors, warnings, fix hints, and token counts for every section. Free, no account needed.

Try:

llms.txt validation

Tokens
Links
Sections
File size

Validation findings

Open a finding to see the recommended fix.

Document structure

Every section and the resources it gives to agents.

Companion file

llms-full.txt found

The larger companion file is available for agents that need the full content.

How the llms.txt validator works

  1. Paste your llms.txt content or pass a URL to fetch.
  2. The validator parses the file line by line and checks every rule in the AnswerDotAI llms.txt spec: exactly one H1 at the top, optional blockquote summary, H2 sections, and Markdown link-list items.
  3. Every issue is listed with a line number, a one-line explanation, and a fix hint you can copy straight into your file.

What is llms.txt?

llms.txt is a plain-text Markdown file that points AI agents at the pages that matter. Use /llms.txt to describe a whole site, or a path such as /docs/llms.txt to describe that part of a site. Agents can read the file, pick the links that match a task, and fetch only those pages.

Need a new file? Add your links with the llms.txt generator, then copy or download the validated result.

The llms.txt spec in one screen

H1: Site name
> One short sentence summary.

Optional prose before the first section.

H2: Section name
- [Name](https://example.com): description

H2: Optional
- [Less important](https://example.com): skip if tight on context

Which tokenizer the stats use

The token numbers use OpenAI's o200k_base encoding, the same tokenizer as the Token counter tool. The count is exact for OpenAI models. For Claude and Gemini it is a close estimate, usually within 10 to 15 percent on English prose.

What this validator does not do

  • It does not crawl the URLs inside your llms.txt.
  • It does not require an API key, log in, or save anything about the content you paste.
  • It does not validate the structure of llms-full.txt. The tool reports its size and token count.

Frequently asked questions

llms.txt is a small Markdown file that helps AI agents find the most useful pages without having to crawl the whole site. It has one required H1 with the site name. A blockquote summary, guidance text, and H2 sections with Markdown link lists can follow it.

Use /llms.txt when the file describes the whole site. The current specification also allows a file inside a path, such as /docs/llms.txt, when it describes only pages below that path. Keep the file public and use the exact llms.txt name.

llms-full.txt is the companion "dump everything here" file. Where llms.txt is a curated list of links, llms-full.txt is the full text of the content you want agents to read. Most sites start with llms.txt only. Add llms-full.txt when you have meaningful long-form content you want ingested directly. This validator reports size and token count for llms-full.txt if it exists, but does not validate its structure, because the spec allows arbitrary full-text content there.

No. Every URL inside your file would be a separate network request, which turns this tool into a crawler. Intentionally out of scope. The validator checks that each URL parses, warns on http://, and flags duplicates.

The spec has no hard cap, but the point of llms.txt is that an agent can read the whole thing before deciding what else to fetch. Keep it under a few thousand tokens for the main file. llms-full.txt can be larger since agents will only pull it when they need it, but every token in either file competes with the actual answer for context window space.

Use the llms.txt generator to enter a site name, summary, and grouped links. It creates and validates the file in your browser. This validator is best for a file that you changed or already published.

Errors block the file from passing: a missing H1, a second H1, a list item that does not match the spec shape, or an unparseable URL. Warnings flag things that work but are probably not what you meant: a non-https URL, an empty blockquote, a duplicate URL, a section with no links. Infos are small nudges, like switching a http:// to https://.

No. The content is sent once to the validator, parsed in memory, and the result is sent back. Nothing is written to the database or tied to an account.