Free llms.txt generator
Fill in your site name, summary and key pages. Get a valid llms.txt file, checked against the spec as you type.
Sample site loaded. Replace it with your own details.
llms.txt
Save it as llms.txt at the root of your site, so it loads at https://yourdomain.com/llms.txt.
What the generator writes, line by line
It follows the order in the llms.txt specification: an H1 with the site name, a blockquote summary, optional detail paragraphs, then H2 sections holding links in the form - [title](url): notes. Only the H1 is required. Jeremy Howard proposed the format in September 2024 as a short map a language model can read in one pass.
A section headed Optional means something specific: the spec says agents may skip it when they need a shorter context. The checks under the output catch a missing name, links without URLs, relative URLs and duplicates. Nothing you type leaves your browser.
What does a good llms.txt look like?
A good llms.txt is short and written for one reader. Vercel and Stripe both publish one, and they look nothing alike, because they serve different readers.
Vercel's llms.txt is about 5 KB with 25 links. It opens the way the spec suggests:
# Vercel
> Vercel is a cloud platform for building, deploying, and scaling web
> applications and AI workloads.
## When to use Vercel
...
## Optional
- [Product taxonomy](https://vercel.com/docs/taxonomy.json): Canonical
product names, aliases, and deprecations.
It's an index. It says what the company is, when to use it, and points to Markdown copies of the docs plus one llms-full.txt with everything in a single file.
Stripe's docs file is about 90 KB with more than 450 links and no blockquote at all. It opens with instructions to coding agents: check the npm registry for the current package version instead of trusting a version number from training data. It's written for an assistant in the middle of building an integration, which is a different reader from a chatbot answering "what does Stripe do?".
For a company website, copy Vercel's shape. Stripe's approach makes sense only if you have API docs that developers feed to coding tools.
A starting template for a B2B software site
Replace the bracketed parts. Keep it under about 30 links. If it's turning into a sitemap, you've stopped curating.
# [Product name]
> [Product] is a [category] for [who], used to [main job]. [One line on
> what makes it different, stated as a fact you can check on the site.]
Pricing is [per seat / per account / usage-based]. Plans start at [price].
## Product
- [Pricing](https://example.com/pricing): Plans, limits, what each tier includes
- [How it works](https://example.com/product): Core workflow in five steps
- [Integrations](https://example.com/integrations): Supported tools and setup
## Comparisons
- [Product vs Competitor](https://example.com/vs/competitor): Feature and price differences
## Docs
- [Quickstart](https://example.com/docs/quickstart.md): Setup in under 15 minutes
- [API reference](https://example.com/docs/api.md): Endpoints with examples
## Optional
- [Changelog](https://example.com/changelog): Release notes by month
- [Blog](https://example.com/blog): Long-form articles
The notes after each colon matter more than the titles. "Plans, limits, what each tier includes" tells an agent whether to open the page. "Pricing page" tells it nothing it didn't know from the URL.
Four mistakes that make an llms.txt useless
- Pasting the sitemap. Four hundred blog URLs bury the five pages that explain the product, and the spec's whole point is a short, curated list.
- A summary that disagrees with the site. If the blockquote says "from $49" and the pricing page says $59, an agent reading the file first may quote the wrong one. Put the file on the same checklist as the pricing page.
- Relative links like
/pricing. They break when the file is read outside your domain. The generator warns on these. - Linking to pages that render only with JavaScript. If a page is empty without scripts, a Markdown copy at the same URL plus
.md(the spec's suggestion) is worth more than the llms.txt itself.
Is it worth five minutes? Google says not for Search
Google's guide to generative AI features in Search is blunt: you don't need AI text files or Markdown versions to appear in Google Search, and creating them "will neither harm nor help" because Google Search ignores them. That covers AI Overviews and AI Mode.
Adoption is uneven. In our study of 261 top sites, 81 of the 241 we could check (34%) served a valid llms.txt: 64% of B2B SaaS sites, against 8% of news publishers. Software companies took it up; publishers mostly haven't.
We haven't found documentation from OpenAI, Anthropic or Perplexity saying their search products use llms.txt to choose sources either. You can still find out who reads yours. Filter your access logs for requests to /llms.txt and group by user agent. If nothing has fetched it after a month, you have your answer.
Two checks matter more than this file. First, make sure AI crawlers can reach your pages at all with the robots.txt AI checker. Second, find out whether engines already mention you: the free Arobis AI visibility checker runs buyer prompts through ChatGPT and shows who gets named. If you want those mentions tracked across engines over time, see our roundup of the best AI visibility tools. The llms.txt explainer covers the format's history, and the glossary entry has the short definition.
Frequently asked questions
What is an llms.txt file?
A Markdown file at the root of a site, such as example.com/llms.txt, that gives language models a short summary of the site and a curated list of links to its most useful pages. Jeremy Howard proposed the format in September 2024. Only the H1 title is required; a blockquote summary and H2 link lists are recommended.
Where do I put llms.txt?
At the root of your domain, so it loads at https://yourdomain.com/llms.txt next to robots.txt. The spec also allows files at a subpath, such as /docs/llms.txt for a documentation section. Serve it as plain text, and check that robots.txt doesn't block the AI agents you want to read it.
Is llms.txt the same as robots.txt?
No. robots.txt tells crawlers which URLs they may fetch and is a formal standard, RFC 9309. llms.txt grants and blocks nothing. It's an optional, proposed guide pointing models to your best pages in a format they can read cheaply, so you still need robots.txt for access control.
What goes in the Optional section?
Links an agent can drop when it's short on context. The spec gives a section headed Optional exactly that meaning. Changelogs, older blog posts, legal pages and long reference material belong there. Pages that define your product, pricing and core docs belong in the sections above it.
Does Google use llms.txt?
Not for Search. Google's guide to generative AI features says you don't need AI text files or Markdown versions to appear in Google Search, and that Google Search ignores them, so adding one neither helps nor hurts. That includes AI Overviews and AI Mode. The file can still help other agents and tools that choose to read it.
How many links should llms.txt have?
Enough to explain what you do and no more. Vercel's file has about 25 links for a large platform, which is a sensible ceiling for most company sites. Documentation-heavy products like Stripe publish hundreds, but that file serves coding agents rather than people asking what the company does. Put anything secondary under Optional.