What Is llms.txt? How to Create One (With Example and Template)
llms.txt is a plain Markdown file at the root of your site that tells language models what your site is and where its best content lives. It was proposed in 2024 as a way to give AI tools a clean, low-noise alternative to scraping navigation-heavy HTML. This guide covers what it is, what it can and cannot do, and how to write one properly.
What llms.txt is, in one paragraph
Think of it as a curated table of contents for machines. Where sitemap.xml lists every URL and robots.txt sets crawl rules, llms.txt highlights the handful of pages that explain your product and how to use it, with one line describing each. Because it is Markdown, it is readable by people and cheap for a model to ingest.
Does llms.txt actually work?
Be sceptical of anyone who promises ranking gains. As of this writing, the major search engines have not said they use llms.txt for ranking or retrieval. Where it clearly helps is narrower: developer tools, documentation sites and AI coding assistants that fetch it deliberately, and agents that look for a quick overview before deciding which pages to open. Because it takes ten minutes and carries no downside, most AI-readiness checklists, including our AI readiness assessment, include it as a low-priority item. Fix crawler access and structured data first.
The format
The proposal defines a simple structure, in this order:
- An H1 with the name of the project or site (the only required element).
- A blockquote with a short summary.
- Optional paragraphs or lists with extra context.
- Zero or more H2 sections containing Markdown lists of links. Each item is a link followed by an optional colon and a description.
- An optional section titled "Optional" for secondary links that can be skipped when context is tight.
A copy-ready example
# Acme Analytics
> Acme Analytics is a privacy-first web analytics platform. It tracks page views and conversions without cookies and offers an API for exporting data.
Key facts: free plan up to 10,000 events per month; EU data hosting; no personal data collected.
## Product
- [Features](https://acme.example/features): What the platform measures and how dashboards work
- [Pricing](https://acme.example/pricing): Plans, limits and what each tier includes
## Documentation
- [Quick start](https://acme.example/docs/quickstart): Install the script and verify events in five minutes
- [API reference](https://acme.example/docs/api): Endpoints, authentication and rate limits
## Optional
- [Changelog](https://acme.example/changelog): Release notes
- [Blog](https://acme.example/blog): Product updates and guides
How to write a good one
- Be selective. Ten to thirty links is plenty. This is a curated index, not a sitemap.
- Write descriptions for a model. State what the page contains and when it is useful, in a sentence.
- Use absolute, canonical URLs that return 200 and are indexable.
- Keep it current. Dead links in llms.txt are worse than no file. Regenerate it when pages move.
- Lead with facts. Pricing, limits, supported platforms and constraints are what agents look for.
Generating and serving it
The quickest route is our free llms.txt generator, which runs entirely in your browser. Otherwise, You can write the file by hand, or generate it at build time from your content source, which keeps it from going stale. In Next.js, drop a static file at public/llms.txt, or create a route handler that returns text/plain built from your posts and docs. Many documentation frameworks also ship plugins that produce it automatically.
Validate it
- Open
https://yourdomain.com/llms.txtand confirm a 200 response with a text or Markdown content type. - Click every link. Each must resolve without redirect chains and not be blocked by robots.txt.
- Check that the file starts with an H1 and that descriptions are accurate.
- Run an AgentReady scan to confirm the file is detected alongside your other readiness signals.
llms.txt vs. the rest of your AI stack
llms.txt is one small piece. It describes your site for models; WebMCP lets an agent actually do things on a live page; structured data gives unambiguous facts; robots.txt controls access. A site that does the harder three well will get far more from AI systems than one that only ships a Markdown file.
Frequently asked questions
What is llms.txt?
llms.txt is a proposed convention: a Markdown file served at /llms.txt that gives language models a concise, curated map of a website, with a title, a short summary and links to the most important pages.
Does llms.txt improve Google rankings?
There is no evidence that it does, and major search engines have not announced that they use it as a ranking signal. Treat it as a low-cost aid for AI tools and developers that choose to read it, not as an SEO lever.
Where should the llms.txt file live?
At the root of your domain, for example https://example.com/llms.txt, served as plain text or Markdown with a 200 status.
What is the difference between llms.txt and robots.txt?
robots.txt tells crawlers what they may fetch. llms.txt does not grant or deny access; it points models to the pages you consider most useful and describes them.
Is Your Website Ready for WebMCP?
Test your site to see your AI Readiness Score and understand exactly what you need to fix.
Check Your AI Readiness Score