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:

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 page

Keep 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.

See a live llm.txt card

Related guides


All guides · Free AI visibility checker · hilyt.it