For the complete documentation index, see llms.txt. Every page on this site is also served as Markdown: append `.md` to any URL, or send `Accept: text/markdown`.

llms.txt vs robots.txt: a proposal and a standard

One file is an IETF Standards Track protocol crawlers are obliged to obey. The other is an open proposal Google says no AI system reads. Compared on status, format, enforcement and evidence.

Last updated: 2026-09-03By Karl-Gustav Kallasmaa

llms.txt

An open proposal to standardise on a markdown file at /llms.txt that gives AI agents a curated map of a site's most useful pages. It is a suggestion about content, not an access-control mechanism.

Checked 2026-09-03

robots.txt

The Robots Exclusion Protocol, standardised as RFC 9309, which lets a service owner state which automated clients may access which paths, with obligations the specification places on conforming crawlers.

Checked 2026-09-03

Which one should you choose?

These are not two options for the same job. robots.txt is a Standards Track protocol that tells crawlers what they may fetch and defines what a conforming crawler must do. llms.txt is a proposal that tells an agent what is worth reading, with no enforcement and, by Google's account in June 2026, no consumers.

Choose llms.txt when

Publish an llms.txt when your documentation is genuinely large, when you already generate markdown, or when your platform emits one for free. It is cheap, it is a reasonable bet on future adoption, and a curated map of your docs is not a waste even if no crawler ever fetches it.

Choose robots.txt when

Get robots.txt right in every case, before anything else. It is the only one of the two with defined crawler obligations, and its failure modes are severe: a 5xx response obliges a conforming crawler to assume complete disallow, and a mistaken disallow silently removes you from the systems that honour it.

When neither is the right answer

Neither file makes you citable. Both are plumbing. If an assistant can already fetch your pages and still does not quote you, the problem is in the pages, and no file at the root of your domain will fix it.

What is specific to this comparison

  • This is the only pairing in the family where one side is an IETF Standards Track document with MUST-level obligations and the other is a proposal on a personal site, which is why the two files fail in completely different ways.
  • robots.txt has a documented catastrophic failure mode that llms.txt structurally cannot have: RFC 9309 obliges a conforming crawler to assume complete disallow on a 5xx response, so an outage at the root of your domain can switch your entire site off for compliant crawlers.
  • The most-cited fact about llms.txt is a negative one, and it comes from Google: as of June 2026 John Mueller described the file as purely speculative and observed that it has existed for years without AI systems using it.
  • Only robots.txt carries named AI-vendor control tokens; Google-Extended, GPTBot and OAI-SearchBot are all robots.txt user agents, and there is no equivalent addressing mechanism anywhere in the llms.txt proposal.

llms.txt vs robots.txt, criterion by criterion

Status
Standards status
PartialAn open proposal, published on its own siteSource, checked 2026-09-03
Status
First published
3 September 2024, by Jeremy HowardSource, checked 2026-09-03
Mechanics
Required location
PartialSite root or any path below it; most specific winsSource, checked 2026-09-03
Mechanics
File format
Markdown; only an H1 with the site name is requiredSource, checked 2026-09-03
Enforcement
Controls crawler access
NoNo; it curates content, it does not gate itSource, checked 2026-09-03
Enforcement
Defined behaviour when the file cannot be fetched
Not documentedNone specifiedSource, checked 2026-09-03
Enforcement
Freshness rules for consumers
Not documentedNone specifiedSource, checked 2026-09-03
Enforcement
Minimum size a consumer must parse
Not documentedNot specified by the formatSource, checked 2026-09-03
Adoption
Named AI-vendor control token
NoNone; the specified format contains no user agentsSource, checked 2026-09-03
Adoption
Published evidence that AI systems consume it
NoGoogle's Mueller called it purely speculative, June 2026Source, checked 2026-09-03

The short answer

robots.txt is an access-control protocol with a specification. llms.txt is a content-curation proposal without one. They are not alternatives, and choosing between them is a category error: one governs what a crawler is permitted to fetch, the other suggests what an agent might find useful once it is already allowed in.

Status: a standard and a suggestion

robots.txt was formalised as RFC 9309 in September 2022, on the IETF Standards Track. That document uses RFC 2119 keywords, which is why so much of what it says is testable. The rules must be accessible in a file named /robots.txt, all lowercase, at the top-level path of the service. A crawler must match allow and disallow paths against the URI, with the most specific match applying, and access is allowed where nothing matches.

llms.txt describes itself, in its own first sentence, as a proposal to standardise on using an /llms.txt file to provide information to help agents use a website. It was published by Jeremy Howard on 3 September 2024 and updated in August 2026 for a second version. It is a serious and well-argued proposal. It is not a standard, and its own site does not claim to be one.

What each file can actually make happen

robots.txt places obligations on the crawler. The interesting ones are the failure modes. On a 5xx response, a conforming crawler must assume complete disallow. On a 4xx, it may access any resource on the server. Cached copies should not be used for more than 24 hours unless the file is unreachable. Parsers must handle at least 500 kibibytes[^robots-size-limit].

Read those four rules together and you get the operational lesson that matters more than any AI-visibility argument: a server that returns 500 for /robots.txt during an incident is instructing every conforming crawler to stop fetching your entire site. That is a real outage with a delayed and invisible cost.

llms.txt places no obligations on anybody. There is no directive to honour, no defined behaviour on failure, no cache lifetime, no parsing limit, and no user agent to address. It specifies a markdown document whose only required section is an H1 with the name of the project, followed by a blockquote summary and optional H2-delimited lists of links. That is a table of contents, and it is a perfectly reasonable thing to publish. It just is not a control.

The adoption question, answered with a date

Adoption is where this pairing gets emotional, so it is worth being precise about what is actually documented.

In favour of llms.txt: its site states that OpenAI, Anthropic and Gemini publish llms.txt files for their own developer docs, and that Mintlify, GitBook and Wix generate the file automatically[^llmstxt-adoption]. That is real and checkable. Note what it shows, though: AI companies publishing the file for their own documentation is evidence about producers, not about consumers.

Against: Search Engine Journal reported on 2 June 2026 that Google's John Mueller described the file as purely speculative for now, observing that it has existed for years and none of the AI systems use it. That is a secondhand report of a statement from one search engine, not a measurement of the whole ecosystem, and it should be read as such. But it is the most specific public statement either way, and it points in the unflattering direction.

By contrast, the evidence for robots.txt consumption is first-party and unambiguous. OpenAI's own crawler documentation says OAI-SearchBot and GPTBot honour robots.txt, and that robots.txt rules may not apply to ChatGPT-User because those fetches are initiated by a user. Google documents Google-Extended as the token governing whether crawled content is used to train future Gemini models, and states plainly that Google-Extended does not affect a site's inclusion in Google Search and is not used as a ranking signal.

The asymmetry that decides the argument

llms.txt can only ever be an optimisation. Its best case is that some future agent reads it and finds your documentation faster. Its worst case is a slightly stale markdown file nobody fetches.

robots.txt is load-bearing in both directions. Its best case is that you keep training crawlers out while letting answer crawlers in, or the reverse, according to a policy you actually chose. Its worst case is that a typo or a 5xx removes you from every system that honours the protocol, including the ones whose answers you are trying to appear in.

Asymmetric downside is the whole reason to rank these differently. Spend an hour on robots.txt before you spend ten minutes on llms.txt.

Why the comparison keeps getting made anyway

The two files get compared because they look alike and because the hope behind llms.txt is genuinely reasonable. Both are plain-text conventions at a well-known path. Both are addressed to machines. Both promise a small amount of control over an enormous, opaque process. When a new class of automated reader arrives, reaching for the pattern that worked last time is the obvious move, and llms.txt is exactly that move.

The reason it has not landed the way robots.txt did is worth stating plainly, because it is structural rather than a matter of momentum. robots.txt succeeded because the party being constrained had an incentive to comply: a crawler that ignores exclusion rules gets blocked, rate-limited, and eventually sued. There is a cost to defection. llms.txt asks a consumer to do extra work for a benefit that accrues to the publisher. Nothing punishes an agent for skipping the file, and nothing rewards it for fetching one. Conventions with that shape need either a strong coordinating body or a dominant consumer who insists, and llms.txt has so far had neither.

That is an argument about incentives, not about quality. The proposal is well-specified and the second version tightened it further. If a major assistant vendor announced tomorrow that it reads the file, the calculation would change overnight, and the sites that already publish one would be ahead. That is the honest case for spending twenty minutes on it and no more.

Two mistakes that cost real visibility

Blocking the answer crawler while trying to block the training crawler. The crawlers are different user agents with different published purposes, and OpenAI documents both, so a blanket disallow is a choice to be absent from search answers as well as from training. Anyone who wrote a broad rule during the 2023 wave of AI-crawler blocking should re-read it against the current documentation before concluding that their absence from assistant answers is a content problem.

Treating llms.txt as the AI equivalent of a sitemap. A sitemap is consumed; search engines document reading it and act on it. On the public record, llms.txt is not consumed in the same way. Publishing one and then deprioritising the XML sitemap, internal linking or crawl budget is trading a mechanism that demonstrably works for one that might.

A sane policy for a site that wants to be cited

Decide the training question and the answering question separately, because the crawlers are separate. If you want to appear in ChatGPT's search answers, do not disallow OAI-SearchBot, because OpenAI documents that opting out of it removes you from those answers. If you have a view on model training, GPTBot and Google-Extended are the tokens that express it, and Google states that using Google-Extended costs you nothing in Search.

Keep the file small, keep it valid, and monitor that it returns 200. A monitoring check on /robots.txt is cheap insurance against the 5xx rule.

Then, if you like, publish an llms.txt. Point it at your genuinely useful pages — documentation, reference, structured data-rich material — and regenerate it when your docs change. Treat it as a bet with a small stake, not as a visibility strategy. And do not let it replace an XML sitemap, which search engines demonstrably do consume.

A short checklist you can act on today

Fetch your own /robots.txt over HTTPS and read what it actually returns, rather than what your framework was configured to emit. Confirm the status code is 200, confirm the file is at the top-level path in lowercase, and confirm it is well under the 500 kibibyte parsing floor the specification sets.

List every user agent you disallow and write one sentence next to each saying why. Any rule whose justification you cannot state is a rule to delete. Pay particular attention to blanket wildcards written during a period of anxiety about AI crawling, because those are the rules most likely to be excluding you from assistant answers without anybody having intended it.

Add an uptime check on the robots.txt URL specifically. Given the 5xx rule, a robots.txt that errors is a site-wide crawl stop for conforming crawlers, and it is the sort of outage nobody notices because the pages themselves are still serving fine.

Finally, if you publish an llms.txt, generate it from the same source of truth as your documentation so that it cannot drift. A stale map is worse than no map, and a hand-maintained one will go stale.

What neither file does

Neither file makes your content worth quoting. Both are addressed to machines deciding whether and where to look, not to the model deciding what to say. If your pages are crawlable, fetchable and still absent from AI search answers, the problem is the writing: the pages do not contain a specific, attributable sentence that answers the question being asked. That is a content problem, and the root of your domain is the wrong place to look for the fix.

Questions people ask

There is no published obligation to have one, and as of June 2026 Google's John Mueller described the file as purely speculative and said none of the AI systems use it. Adding one costs little and breaks nothing. Treating it as a substitute for being crawlable is the mistake.

No. The proposal is about giving agents a curated, markdown-formatted map of a site. It contains no access-control mechanism, no directive a crawler is obliged to honour, and no defined behaviour if a crawler ignores it. Access control is what robots.txt is for.

Partly and only where the operator honours it. OpenAI documents that disallowing GPTBot indicates a site's content should not be used to train its foundation models, and Google documents Google-Extended as the control for whether crawled content is used to train future Gemini models. Both are opt-outs offered by the operator, not enforcement.

RFC 9309 is strict: the rules must be accessible in a file named /robots.txt, all lowercase, in the top-level path of the service. The llms.txt proposal is looser and allows the file at the site root or at any path within it, covering the pages under that path, with the most specific file winning.

Get robots.txt right. It is a Standards Track protocol with defined crawler obligations, including the rule that a crawler must assume complete disallow on a 5xx response, which means a broken server can silently switch your entire site off for compliant crawlers.

Sources

Every claim on this page, with the page it came from and the date that page was read. Prices and feature lists change; these are what the source said on the date shown, not timeless facts.

  1. llms.txt is described by its own site as a proposal to standardise on a file that provides information to help agents use a website.A proposal to standardise on using an /llms.txt file to provide information to help agents use a website.https://llmstxt.org/ — read 2026-09-03
  2. The llms.txt proposal was published by Jeremy Howard on 3 September 2024 and updated on 10 August 2026 for version 2.https://llmstxt.org/ — read 2026-09-03
  3. The proposal allows the file at the site root or at any path within it, covering the pages under that path, with agents using the most specific file that applies.at the site root, or at any path within it, covering the pages under that pathhttps://llmstxt.org/ — read 2026-09-03
  4. The proposal specifies a markdown file whose only required section is an H1 with the name of the project or site, followed by a blockquote summary and optional H2-delimited lists of links.An H1 with the name of the project or site. This is the only required section.https://llmstxt.org/ — read 2026-09-03
  5. The proposal site states that OpenAI, Anthropic and Gemini publish llms.txt files for their own developer docs, and that platforms including Mintlify, GitBook and Wix generate the file automatically.The AI labs themselves publish llms.txt files for their own developer docs: OpenAI, Anthropic, and Gemini.https://llmstxt.org/ — read 2026-09-03
  6. The Robots Exclusion Protocol was published as RFC 9309 on the IETF Standards Track in September 2022.https://www.rfc-editor.org/rfc/rfc9309.html — read 2026-09-03
  7. RFC 9309 requires the rules to be accessible in a file named /robots.txt, all lowercase, in the top-level path of the service.The rules MUST be accessible in a file named "/robots.txt" (all lowercase) in the top-level path of the service.https://www.rfc-editor.org/rfc/rfc9309.html — read 2026-09-03
  8. RFC 9309 requires a crawler to match allow and disallow paths against the URI, with the most specific match applying and access allowed where no rule matches.To evaluate if access to a URI is allowed, a crawler MUST match the paths in "allow" and "disallow" rules against the URI.https://www.rfc-editor.org/rfc/rfc9309.html — read 2026-09-03
  9. RFC 9309 states that crawlers should not use a cached robots.txt for more than 24 hours unless the file is unreachable.Crawlers SHOULD NOT use the cached version for more than 24 hours, unless the robots.txt file is unreachable.https://www.rfc-editor.org/rfc/rfc9309.html — read 2026-09-03
  10. RFC 9309 states that on a 5xx response a crawler must assume complete disallow, while on a 4xx it may access any resources on the server.On 5xx errors, the crawler MUST assume complete disallow.https://www.rfc-editor.org/rfc/rfc9309.html — read 2026-09-03
  11. RFC 9309 requires a robots.txt parsing limit of at least 500 kibibytes.The parsing limit MUST be at least 500 kibibytes.https://www.rfc-editor.org/rfc/rfc9309.html — read 2026-09-03
  12. OpenAI documents that OAI-SearchBot and GPTBot honour robots.txt, and that robots.txt rules may not apply to ChatGPT-User because those fetches are initiated by a user.Because these actions are initiated by a user, robots.txt rules may not apply.https://developers.openai.com/api/docs/bots — read 2026-09-03
  13. Google documents Google-Extended as a robots.txt control token governing whether crawled content may be used to train future Gemini models, and states it does not affect Search inclusion or ranking.Google-Extended does not impact a site's inclusion in Google Search nor is it used as a ranking signal in Google Search.https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers — read 2026-09-03
  14. Search Engine Journal reported on 2 June 2026 that Google's John Mueller called llms.txt purely speculative and noted that the file has existed for years without AI systems using it.I don't think anyone knows - it's purely speculative for now (the file has existed for years, yet none of the AI systems use it - what does it mean?).https://www.searchenginejournal.com/google-says-llms-txt-is-purely-speculative-for-now/577576/ — read 2026-09-03