NanoFile
Menu

llms.txt

llms.txt is a small markdown file at the root of a website that gives a language model a map of the site: what this is, and which pages are worth reading. Jeremy Howard proposed it in September 2024.

Checked against the official documentation in August 2026.

The format

Title

Optional description goes here

Optional details go here

Section name

The H1 is the only required part. The blockquote should carry enough for the rest of the file to make sense on its own.

A real one

NanoFile

A markdown viewer that runs entirely in the browser. Drop a .md file in and read it rendered. Free, no account, and the file is never uploaded.

Rendering happens client-side. There is no upload endpoint, so a document opened here cannot be read by the operator or anyone else.

Tools

Reference

Where it goes

At the root, as /llms.txt. It can also sit at a subpath, such as /docs/llms.txt, in which case it covers the URLs under that path. Where more than one applies, an agent should use the most specific.

The order is part of the spec

An optional byte-order mark, then an H1 with the project name, then a blockquote summary, then optional detail in paragraphs and lists but no headings, then H2 sections containing lists of markdown links with optional descriptions after a colon.

The H1 is the only required element. Everything else is optional, but a file without the blockquote is much less useful, because that line is what an agent reads to decide whether the rest is relevant.

Optional means something specific

One H2 has defined semantics. A section headed ## Optional is, in the proposal's own words, "used, by convention, for secondary information: links an agent can skip when a shorter context is needed". It is the only lever you have over what gets dropped first, and most published files do not use it.

The other half of the proposal

The part that gets forgotten is that llms.txt is meant to point at clean markdown. The proposal asks that pages an agent might need also be served as markdown at the same URL, either with .md appended (page.html.md) or with the extension replaced (page.md). A link list pointing at pages full of navigation and cookie banners is half the idea.

What usually goes wrong

  • It is not robots.txt. It grants nothing and blocks nothing: it is a courtesy map, and adoption is up to whoever is reading.
  • Do not paste your whole site into it. The point is a curated index of what is worth reading, and a wall of text defeats it.
  • Headings inside the optional detail section break the format, because an H2 starts a link section.
  • Generate it from the same source as your navigation. A hand-maintained copy goes stale on the first page you add.
  • llms-full.txt is not in the proposal. Some tools generate one and it is a reasonable idea, but nothing about it is specified, so do not expect an agent to look for it.

Where it behaves differently

PlatformBehaviour
Generated for youMintlify, GitBook, Yoast SEO, AIOSEO, Wix and nbdev produce one from your existing content.
Pluginsvitepress-plugin-llms, docusaurus-plugin-llms, Drupal LLM Support, llms-txt-php and an MCP server that serves one.
Read byCoding and chat agents browsing your site, and Chrome's Lighthouse audit checks for the file.
Search enginesNo search engine has said it uses the file for ranking. Treat it as a convenience for agents, not as an SEO measure.

Questions

Does anything actually read llms.txt?

Coding and chat agents that browse your site, and Lighthouse checks for it. Plenty of documentation platforms generate one. No search engine has said it affects ranking. The cost of publishing one is close to zero if you generate it, and that is the honest case for doing it: cheap, not decisive.

What about llms-full.txt?

It is not part of the proposal. The convention that has grown up around it is one large file containing the documentation itself rather than links to it, which some tools generate. Publishing one is harmless; relying on an agent to find it is not warranted by anything written down.

How is it different from a sitemap?

A sitemap is an exhaustive machine list for crawlers with no opinion about what matters. An llms.txt is short, curated and human-readable, and it explains what the site is before it lists anything.

Sources

Everything above was read from these, not from memory. If a page here disagrees with one of them, the vendor is right and this page is out of date.

The files this is about live on your machine

A CLAUDE.md or an AGENTS.md sits in a repository, not in a browser tab. The app reads and edits them where they are, on a Mac or on a phone, and checks the whole repository rather than one file at a time.

For iPhone, iPad and Mac.