2026-08-03 · Jack Stovell
What is llms.txt — and how to write one (with a full example)
llms.txt is a proposed convention: a plain markdown file at the root of your website that tells AI language models what the site contains and where the pages that matter live. It was proposed by Jeremy Howard of Answer.AI in September 2024, and writing one takes minutes. Adoption is early and unproven — no major AI vendor has committed to reading it — but the cost is close to zero, which is why we ship one anyway.
Think of it as a curated index written for machines. robots.txt says where crawlers may go, sitemap.xml says what exists, and llms.txt says what matters and why, in language a model can lift straight into an answer.
Do you need an llms.txt file?
Strictly, no. Nothing breaks without one, and no AI vendor documents using llms.txt to answer questions. The honest case for writing one anyway rests on three facts:
- The cost is near zero. It is one plain text file you can write in a few minutes and rarely touch again.
- AI crawlers do request it. Server logs across the industry — including ours — show fetches of /llms.txt. Requesting a file is not the same as using it, but the traffic is real.
- Even if the convention never wins, the file doubles as dense, unambiguous documentation of your site for any system that reads plain text.
For a personal site the calculation tilts further towards yes, because the same shape works as an identity card: one page that states who you are with no navigation or scripts in the way. That angle has its own guide: llms.txt for people.
How do you write an llms.txt file?
An llms.txt file is plain markdown with a fixed shape: one H1 with the site or person's name, one blockquote line summarising it, then H2 sections containing link lists, where each link carries a short description. Here is a complete, realistic example for a freelance designer:
# Sam Wright
> Freelance product designer in Bristol, UK. I design web and mobile products for early-stage startups, and I am available for contract work.
## About
- [About Sam](https://samwright.example/about): Background, how I work, and current availability
- [Services](https://samwright.example/services): Product design, design systems, and UX audits
- [Contact](https://samwright.example/contact): Email address and booking details
## Work
- [Case studies](https://samwright.example/work): Selected projects with process notes and outcomes
- [Design system work](https://samwright.example/work/design-systems): Component libraries built for startup teams
## Writing
- [Blog](https://samwright.example/blog): Notes on design process and working with early-stage teams
## Optional
- [CV](https://samwright.example/cv): Full work history as a plain HTML pageKeep every description factual and specific — the file's whole value is that a model can quote it without misreading anything. For a live example of the same idea applied to a person rather than a site, see i.hilyt.it/jack/llm.txt.
Where does the file go?
At the root of your domain, served as plain text: yourdomain.example/llms.txt. Not in a subdirectory, not behind a login, and not rendered by JavaScript. If you can open the URL in a browser tab and see raw markdown, it is deployed correctly. On a static host you drop the file into the public folder and you are done; CMS platforms each have their own route, and we cover the common ones in separate guides starting with WordPress. Keep the URL stable once it exists — the file only earns trust if machines find it in the same place every time.
Does anything actually read llms.txt?
Honestly: crawlers fetch it, and nobody documents answering from it. Our own server logs show AI user agents requesting /llms.txt — you can identify who is who with our AI crawler user-agent list — but no vendor has published a commitment to use the file for retrieval or training. That is the whole current truth, and any stronger claim you read elsewhere is speculation.
What this won't do: an llms.txt file will not make models cite you by itself. It removes one obstacle — a machine arriving at your site finds a clean map instead of guessing — and being readable is necessary, not sufficient. The deciding factors after that are retrieval, ranking and model behaviour. Ship the file because it is nearly free and can only help, not because it guarantees anything.
Related guides
- llms.txt for people: what it is, and an honest take on whether it matters
- How to add llms.txt to a WordPress site
- AI crawler user agents: the full list (GPTBot, ClaudeBot, PerplexityBot and more)