Definition
What is llms.txt?
llms.txt is a plain markdown file served at the root of a site, such as example.com/llms.txt. It gives an AI agent a short description of what the site covers and a curated list of links to the pages worth reading, so the agent can find the right documentation without crawling a JavaScript shell or guessing at a sitemap. Jeremy Howard proposed the format in September 2024.
The format
The file is markdown, and the convention is loose. An H1 with the project name comes first, then an optional blockquote summary, then H2 sections holding bullet lists of links. Each bullet is a markdown link followed by a colon and a one-line description of what the linked page contains.
A section headed Optional marks links an agent can skip when it is working with a limited context budget. Nothing enforces any of this. A file that returns 200 with a plausible index is what the AI Agent Readiness Test counts.
# Example API
> Send transactional email over HTTP.
## Docs
- [Quickstart](https://example.com/docs/quickstart.md): Send the first message in five steps.
- [Rate limits](https://example.com/docs/limits.md): Per-plan quotas and the 429 response.
## Optional
- [Changelog](https://example.com/changelog.md): Release history. llms.txt and llms-full.txt are different files
llms.txt is an index. It points at pages and stays small enough to read in one request. llms-full.txt is the whole corpus concatenated into a single markdown file, which can run to hundreds of kilobytes.
An agent with a large context window can load llms-full.txt and skip the fetching entirely. An agent working against a budget reads llms.txt and fetches only what the task needs. The two serve different readers, which is why the test scores them separately at 10 points each.
llms.txt is not robots.txt
robots.txt tells a crawler which paths it may request. It is a permission file, and it is enforced by convention among crawlers that choose to honour it.
llms.txt grants no permission and blocks nothing. It is an invitation that says which pages are worth reading. A site can serve both, and most sites that serve llms.txt also serve robots.txt.
How common is it?
Adoption among the products tested so far is recorded on the grades table, alongside the four other agent surface checks. The count updates as each report publishes.
The file is cheap to publish and it makes the markdown mirror discoverable, which is the part of the surface an agent uses most directly. Several documentation platforms generate llms.txt for their customers, so a team can end up serving one without having decided to.
Adoption across the products tested
95 of the 97 products tested serve an llms.txt, and 61 serve an llms-full.txt. 61 serve both.
- Mailgun serves llms.txt
- Resend serves llms.txt
- Stripe serves llms.txt
- Browserbase serves llms.txt
- Airbyte serves llms.txt
- Arcade.dev serves llms.txt
- CARTO serves llms.txt
- Composio serves llms.txt
- Convex serves llms.txt
- Daytona serves llms.txt
- DuckDB serves llms.txt
- E2B serves llms.txt
- Felt serves llms.txt
- Firecrawl serves llms.txt
- LangChain serves llms.txt
- Railway serves llms.txt
- Ably serves llms.txt
- Amp serves llms.txt
- Baseten serves llms.txt
- Blacksmith serves llms.txt
- Cline serves llms.txt
- CodeRabbit serves llms.txt
- CopilotKit serves llms.txt
- DeepInfra serves llms.txt
- Deno serves llms.txt
- ElevenLabs serves llms.txt
- Exa serves llms.txt
- Expo serves llms.txt
- FastMCP serves llms.txt
- Fused serves llms.txt
- Hermes Agent serves llms.txt
- Inkeep serves llms.txt
- Letta serves llms.txt
- Mapbox serves llms.txt
- Massive.com serves llms.txt
- Mem0 serves llms.txt
- Merge serves llms.txt
- MiniMax serves llms.txt
- MotherDuck serves llms.txt
- n8n serves llms.txt
- Neo4j serves llms.txt
- Neon serves llms.txt
- OpenCode does not serve llms.txt
- Orkes serves llms.txt
- Ory serves llms.txt
- Overture Maps serves llms.txt
- Radar serves llms.txt
- Recall.ai serves llms.txt
- Redis serves llms.txt
- Reducto serves llms.txt
- Roboflow serves llms.txt
- Runpod serves llms.txt
- Runware serves llms.txt
- Speechmatics serves llms.txt
- Stream serves llms.txt
- Stytch serves llms.txt
- SurrealDB serves llms.txt
- Tavily serves llms.txt
- TileDB does not serve llms.txt
- Tinybird serves llms.txt
- Trigger.dev serves llms.txt
- TrueFoundry serves llms.txt
- Union.ai serves llms.txt
- Unstructured serves llms.txt
- Vapi serves llms.txt
- Vectara serves llms.txt
- Warp serves llms.txt
- Zep serves llms.txt
- Zilliz Cloud serves llms.txt
- AssemblyAI serves llms.txt
- Clerk serves llms.txt
- ClickHouse serves llms.txt
- Deepgram serves llms.txt
- Doppler serves llms.txt
- fal.ai serves llms.txt
- Linear serves llms.txt
- LiveKit serves llms.txt
- LlamaIndex serves llms.txt
- Mastra serves llms.txt
- Middesk serves llms.txt
- Mux serves llms.txt
- Netlify serves llms.txt
- Notion serves llms.txt
- Perplexity serves llms.txt
- Persona serves llms.txt
- Plaid serves llms.txt
- PostHog serves llms.txt
- Postman serves llms.txt
- Sentry serves llms.txt
- Supabase serves llms.txt
- Together AI serves llms.txt
- Vercel serves llms.txt
- WorkOS serves llms.txt
- Cartesia serves llms.txt
- Courier serves llms.txt
- Honeycomb serves llms.txt
- Metronome serves llms.txt
Common questions about llms.txt
Where does llms.txt go?
At the root of the domain serving the docs, so example.com/llms.txt or docs.example.com/llms.txt. An agent looks for it at the root and does not search for it elsewhere.
Should the links point at .md URLs?
Point them at markdown when a markdown mirror exists. An agent reading an HTML page has to strip navigation, scripts, and styling before it reaches the content, and a .md URL removes that step.
How large should llms.txt be?
Small enough to read in one request. It is an index, so it holds links and one-line descriptions. Put the full text in llms-full.txt instead.
Put another docs site through the battery.
Nominate a docs site