The llms.txt file
A plain Markdown map served at the root or a specific path for compatible agents. This page covers location, v2 structure, discovery and validation.
Last updated:
What the file is
The llms.txt file is a Markdown document that maps selected resources for compatible agents, with an optional note per link. It was proposed by Jeremy Howard (Answer.AI) in September 2024 as a convention, not an enforced standard. If you want the concept and the adoption picture, start with what is llms.txt; this page focuses on the file itself.
Where it lives
V2 allows the origin root, https://yourdomain.com/llms.txt, or a more specific path
such as https://yourdomain.com/docs/llms.txt. The most specific applicable file
describes a page's scope. Declare it with rel="describedby" in HTML or an HTTP Link
header when possible. A companion llms-full.txt may carry consolidated
page content for clients that explicitly support that convention.
Structure at a glance
- One H1 with the site or project name. Required, first line.
- An optional blockquote after the H1: a factual summary.
- Optional free Markdown body for context (no headings).
- H2 sections, each a list of
- [name](url): noteitems. A section titledOptionalmay label secondary links editorially, without special v2 semantics.
The full rules with annotated examples are on the format reference.
Minimal valid example
# Acme
> Acme is a hosted analytics platform for product teams.
## Documentation
- [Quickstart](https://acme.example/docs/start): install, init, first dashboard.
- [API reference](https://acme.example/docs/api): full endpoint catalogue.
## Optional
- [Blog](https://acme.example/blog): product updates and tutorials. Common mistakes
- Ambiguous relative URLs. Absolute links are safer when the file may be copied.
- Marketing copy in the summary. Keep the blockquote factual.
- Dumping the whole sitemap. The file is a curated map, not an index.
- HTML instead of Markdown. The file must be plain text Markdown.
- Serving it with the wrong MIME type. Use
text/plain(UTF-8).
Serving it correctly
On most stacks this is a static file in your public directory: see the per-stack guides for
Next.js, Astro,
WordPress, Hugo or
Cloudflare Pages. Set
Content-Type: text/plain; charset=utf-8 and a short cache so updates propagate.
FAQ
Is llms.txt the same as llm.txt?
The spec name is llms.txt (plural). llm.txt is a common misspelling; serve
the canonical name.
Does the file need to be updated?
Yes, like a sitemap: stale links erode the trust of the tools that read it. Regenerate it when your key pages change.
What size should it be?
The proposal sets no byte limit. Keep it focused on the intended tasks, test the clients you support, and split real scopes into path-level files when useful.