What llms.txt Is and Why It Exists
A plain-text convention helps AI agents find what matters on websites, not just what exists.

The web was built for human eyes. Every architectural decision baked into it, from page hierarchies to navigation chrome to the way HTML nests content inside layout scaffolding, assumes a reader who scrolls, clicks, and skims. That assumption held for thirty years. It is quietly breaking now.
Large language models querying live web content at inference time do not browse. They fetch, parse, and reason. And the gap between what a website delivers and what a model actually needs is cosmetic in neither direction; it is structural. llms.txt is an attempt to bridge that gap through the simplest possible mechanism: a plain-text file sitting at a known location, written in Markdown, telling any agent that comes looking what is actually worth reading.
Whether that attempt is succeeding depends entirely on which problem you think it is solving.
Why robots.txt and sitemap.xml don't fill this gap
Anyone who has spent time thinking about how crawlers interact with web infrastructure eventually internalizes the same mental model: robots.txt is a bouncer, sitemap.xml is a floor plan. The bouncer tells automated visitors which rooms they cannot enter. The floor plan lists every room in the building. Neither one tells a visitor which rooms are worth entering.
robots.txt is an access control file. It operates at the URL level, expressing permissions in binary terms: fetch this, do not fetch that. It says nothing about relative importance, content quality, or how a brand should be understood. A model that reads a site's robots.txt knows what it is allowed to crawl; it has learned nothing about what it should crawl.
sitemap.xml is a complete catalogue. It lists every indexable URL, sometimes with metadata about modification dates and update frequency, but with no editorial ranking or curation. From the perspective of a model trying to answer a specific question accurately, a sitemap containing ten thousand URLs is nearly as unhelpful as no sitemap at all. The signal-to-noise problem is unchanged.
Neither file was designed to communicate meaning, source authority, or context to a system that needs to understand content rather than merely locate it. They were built for automated crawlers operating under a fundamentally different paradigm, one where the crawler's job is inventory and the ranking happens elsewhere. LLMs collapse that pipeline. The model doing the crawling is also the model doing the reasoning, and it needs curation before the fetch, not after.
The gap, stated plainly: access control plus full inventory still leaves a model without a shortcut to the content that actually matters. If the site is a library, sitemap.xml is the complete catalogue, robots.txt marks the restricted shelves, and llms.txt is the librarian's curated reading list. These three files coexist because they answer three distinct questions. llms.txt is not a replacement for the existing stack; it is the layer the stack was missing.
How Jeremy Howard proposed llms.txt and what he intended it to be
Jeremy Howard published the llms.txt proposal on September 3, 2024, under his work at Answer.AI. The canonical specification lives at llmstxt.org. It was proposed as a community convention, not a formal standard; there is no standards body involved, no RFC process, no governing committee. Howard framed it explicitly by analogy: sites already publish robots.txt for crawlers and sitemap.xml for search engines. llms.txt is the parallel convention for LLMs operating at inference time.
The intent was practical and immediate. Howard was not theorizing about some future agentic web; he was observing a present-tense problem. Models querying documentation sites were reaching for HTML pages cluttered with navigation chrome, cookie banners, and JavaScript, then attempting to extract meaning from the resulting parse. The official docs were there, technically, but the path from "what does this library's API actually do" to a clean, authoritative answer was unnecessarily lossy. llms.txt was meant to shorten that path: point an agent at a known location, hand it a curated list of links to the documentation that actually matters, and let it fetch precisely what it needs.
The community convention status is worth dwelling on, because it shapes how teams should reason about adoption. There is no enforcement mechanism. No crawler is obligated to read the file. No algorithm rewards its presence. The file works if agents choose to use it, and that choice is made by the teams building those agents. Howard was essentially proposing a handshake protocol and betting that enough developers on both sides of the interface would find it useful enough to honor it. That raises an important question: is that bet paying off? The answer is only partially yes, in ways that are more interesting than a simple success or failure story.
What the llms.txt file actually contains and how it is structured
The file lives at the root of a website, at /llms.txt, optionally also at a subpath. The format is Markdown, a deliberate choice. Unlike XML or JSON, Markdown is intended to be readable by language models directly, not only by parsers, which matters when the primary consumer is itself a reasoning system rather than an automated indexer.
The specification defines a clear hierarchy of required and optional elements. First comes an H1 with the name of the project or site, the only element the spec treats as truly mandatory. Below that, a blockquote containing a short summary with the key information necessary to understand the rest of the file. Then zero or more Markdown sections, without subheadings, providing more detailed context about the project. Finally, zero or more H2-delimited sections containing file lists: Markdown lists of URLs, each optionally annotated with a brief description following a colon.
The "Optional" section designation carries a specific semantic meaning in the spec. URLs listed there are flagged as safe to skip when context is limited. An agent operating under token pressure can omit those entries without losing the most authoritative material. This is curation with explicitness about priority, not just a flat list.
One hard constraint: the file cannot sit behind authentication or a paywall. AI crawlers cannot access protected content, and a gated llms.txt defeats its own purpose.
The spec also defines a companion file, /llms-full.txt, which compiles a site's entire documentation into a single Markdown document. This was designed for a different use case: a user who wants to paste one URL into an AI tool and load full context in a single operation. The structure of this companion file was developed by Mintlify in collaboration with Anthropic and subsequently incorporated into the official proposal, a detail that illustrates how quickly the ecosystem was already forming around Howard's original convention.
Where llms.txt is actually being read today — and by what
The answer to "who is actually reading llms.txt" is not the answer most teams publishing the file are hoping for.
The primary real-world consumers are IDE coding agents. Cursor, Windsurf, Claude Code, GitHub Copilot, Cline, and Aider all look for /llms.txt and /llms-full.txt when pointed at a documentation site. The standard agent workflow is recognizable to anyone who has watched these tools operate: identify which dependency owns a feature, fetch that library's llms.txt, pull only the linked pages relevant to the task, write code. Serving Markdown instead of HTML has been reported to reduce token consumption by up to 10x in this context, a figure that translates directly into faster, cheaper, and more accurate agent behavior. For teams shipping developer-facing documentation, this is not hypothetical. It is measurable in the tools their users are running today.
LangChain's mcpdoc, an open-source MCP server, was built around exactly this workflow. It exposes llms.txt files to host applications like Cursor, Windsurf, and Claude Desktop, giving users a fetch_docs tool for any llms.txt-listed URL. The infrastructure is real and in active use.
Web-based answer bots tell a different story. Over a 90-day window monitoring more than 500 million AI bot visits, only 408 targeted /llms.txt directly, a negligible share of all AI crawler traffic (Limy, 2026). GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, and Google-Extended overwhelmingly skip the file and crawl HTML directly. As of mid-2026, this is the empirical reality, not a prediction or a concern to watch.
The implication is concrete: if a team's goal is to shape how AI search surfaces describe their product, llms.txt is currently the wrong instrument. If the goal is to make documentation more useful to developer-facing AI agents, it is the right one.
Who has implemented it and what adoption actually looks like
Early adopters were predictably the organizations already thinking in terms of structured, machine-readable content: Anthropic, Zapier, Cloudflare, Perplexity, Hugging Face, Supabase, Cursor, Mintlify, GitBook. Documentation-heavy, developer-facing companies with engineers who pay attention to emerging web conventions. The pattern is legible.
What compressed the diffusion curve dramatically was platform decisions rather than organic adoption. When Mintlify rolled out llms.txt support across all hosted documentation sites in late 2024, thousands of sites gained the file overnight, including Anthropic and Cursor. The decision happened at the platform layer and propagated automatically to customers.
Shopify's move was even more striking. In early May 2026, Shopify silently pushed llms.txt alongside llms-full.txt, agents.md, and several other agent-facing endpoints to every store on the platform by default, without merchant notification. The first official acknowledgment was a developer changelog entry on May 28, 2026. Shopify's adoption rate reached 78.1%, a figure that reflects a platform-wide infrastructure decision, not a wave of merchants independently evaluating and implementing the spec.
Strip out platform effects and the broader picture is more modest. Across roughly 300,000 indexed domains, adoption grew from 0.4% in April 2025 to 10.13% by May 2026, roughly 25x growth in 13 months (SE Ranking, May 2026). As of June 2026, 8.7% of the world's top 1,000 websites publish an llms.txt file (Rankability, June 2026). One detail worth sitting with: adoption rates by traffic tier are nearly flat. Low-traffic sites, mid-traffic sites, and high-traffic sites all hover in roughly the same range, with the largest, most established sites slightly less likely to have the file than mid-tier ones (SE Ranking, May 2026). But what does it mean that the biggest, most resourced organizations are lagging? The file is not yet a marker of institutional sophistication.
Sectors with legal or compliance conservatism, including financial services, healthcare, and legal, remain slow adopters. That caution is understandable. Publishing a curated machine-readable signal about authoritative content carries implicit questions about accuracy and liability that those industries are not yet eager to navigate.
What Google's rejection and the lack of LLM provider commitments actually mean
In July 2025, Google's Gary Illyes confirmed on the record that Google does not support llms.txt and has no plans to. John Mueller compared it to the discredited keywords meta tag. Google did add llms.txt to its developer and Search Central documentation in December 2025, but its Search team explicitly stated that inclusion did not imply endorsement, and confirmed Google does not use the file for AI Overviews or AI Mode. The documentation acknowledgment was taxonomic, not operational.
No major LLM provider, including OpenAI, Anthropic, Google, Meta, or Mistral, has publicly committed to using llms.txt as a signal in production search or answer surfaces as of mid-2026. The empirical data matches the statements: SE Ranking's study of roughly 300,000 domains found no statistical correlation between having an llms.txt file and how often a domain is cited by LLMs (2026).
The keywords meta tag comparison is worth taking seriously, not dismissing. That tag was also a community convention. It was also ignored by major engines, ultimately after abuse rendered it meaningless. The analogy holds precisely in the context where llms.txt is being positioned as an AI SEO lever. A community convention with no enforcement mechanism and no provider commitment does have a documented failure mode in web history.
It is also worth considering where the analogy breaks down: the agent-routing use case. The keywords meta tag had one intended consumer: search engine indexers. llms.txt has a second consumer, IDE agents and agentic workflows, that operates entirely outside the search provider ecosystem and is already using the file. Google's rejection is material to one use case and irrelevant to the other. Conflating them produces the wrong conclusion about what the file is currently worth.
How to think about llms.txt as infrastructure for agent-facing products rather than an SEO signal
The most useful reframe is this: llms.txt is the first standardized way for an organization to publish a machine-readable surface that AI agents can route on. It is a Business-to-Agent interface, not an SEO meta tag. Companies treating it as the latter are measuring outcomes the file cannot currently produce. Companies treating it as infrastructure for agentic workflows are measuring outcomes the file demonstrably does produce.
The emerging cost dynamics of AI crawling make curation increasingly valuable independent of any search provider's decision. Cloudflare's Pay-Per-Crawl system uses HTTP 402 response codes to let publishers charge per-request for AI crawler access. In a per-request economy, an agent fetching a curated llms.txt plus three targeted sub-pages is dramatically cheaper than scraping fifty pages of HTML. Curation becomes a cost-governance mechanism, not just a convenience.
Structured web signals have a documented track record of slow adoption followed by broad expectation. robots.txt was proposed in 1994; most major crawlers respect it today. Schema markup took years to matter and is now expected infrastructure for rich search results. The pattern is not that every proposed convention succeeds, but that the ones solving real interface problems tend to outlast initial skepticism. One might argue that llms.txt hasn't yet proven it belongs in that category — and that's fair. But the question for llms.txt is whether the interface problem it solves, routing agents to authoritative content, is real and durable enough to follow that arc.
The evidence suggests it is real in one context and speculative in another. For any team shipping documentation-heavy developer products where IDE agents are already a primary interface, the file's consumers are present and active today. For teams whose primary goal is influencing AI-generated search results, the evidence of impact is currently absent.
The decision framework is not complicated: implement if agents are a meaningful interface to your product or documentation. Defer if the only goal is moving the needle on how AI search describes you. The underlying principle, that authoritative, curated, machine-readable content at a known location is what makes documentation actionable in agentic workflows, is sound regardless of what any search crawler does with it. That principle will matter more as the agentic web matures, not less. What remains open is which organizations will be positioned to benefit from it when the infrastructure catches up to the convention.


