What an llms.txt file is for
A language model that visits your site meets the same pages a person does: navigation, cookie banners, scripts and marketing copy around the few facts it needs. The llms.txt proposal offers a shortcut. One Markdown file at the root of the site states what the product is, who it is for and which pages explain it best, with a link to each. An assistant or an agent can read that file in one request instead of guessing from your homepage.
The format is deliberately plain. It is readable by people and by programs, it needs no build step and it fits in a single context window when you keep it short. It does not replace your pages, your sitemap or your structured data. It gives a reader a clean starting point and a list of where to go next.
The format, line by line
The file starts with an H1, written "# Your site name". It is the only required part, and nothing comes before it except an optional byte order mark. A blockquote follows, a line starting with ">" that sums up the site in one or two sentences. Then come optional details in any Markdown except headings: short paragraphs or a list of key facts.
The rest of the file is made of H2 sections, each holding a list of links. Every item follows the same pattern: a dash, the page name in square brackets, the full address in parentheses, then a colon and a short note. The note is optional but useful, because it tells a reader why the page matters. A section named "Optional" has a special meaning: a reader short on space may skip the links it contains.
This generator writes that structure for you and checks the result as you type, with the same rules the llms.txt checker applies to a live file. Square brackets in a page name become parentheses and unsafe characters in an address are encoded, so a link never breaks the Markdown.
# Acme Analytics > Acme Analytics is a privacy-first web analytics tool for small SaaS teams. Pricing: free up to 10,000 page views a month, then from $9 a month. ## Docs - [Getting started](https://acme.example/docs/start): install the script and see the first visit - [Pricing](https://acme.example/pricing): plans, limits and what counts as a page view ## Optional - [Changelog](https://acme.example/changelog)
What to put in each section
Write the summary for someone who has never heard of you. Name the category, the audience and the main result, and leave the adjectives out. Use the details for facts a model often gets wrong: your pricing model, supported platforms, what the product does not do, and the name it should use when it mentions you.
For the links, pick the pages that answer real questions. Documentation, a getting started guide, pricing, a changelog and a few cornerstone articles usually cover it. Ten to thirty links is plenty for most products; the file is an index, not a copy of your sitemap. Put secondary pages, such as old announcements or long legal pages, in the Optional section.
Where you can, link to pages that read well as text. The proposal suggests offering a Markdown version of important pages at the same address with .md added. If your pages are rendered by scripts, a plain text or Markdown version is easier for a model to read than an empty HTML shell.
llms.txt, robots.txt and sitemap.xml
The three files do different jobs. robots.txt sets crawl rules per user agent, and it is where you allow or refuse an AI crawler; the robots.txt generator writes those rules. sitemap.xml lists every URL you want indexed, for search engines. llms.txt is a curated summary for models, with a handful of links chosen by you.
None of them guarantees that an assistant will mention your product. They make your site easier to read correctly. Clear pages, accurate structured data from the schema markup generator and an honest summary in llms.txt all reduce the chance that a model describes you from outdated or third-party sources.
Publish it, then check the live file
Download the file and upload it so that it opens at /llms.txt on your domain. On most hosts you place it in the public or static folder of your project. Open the address in a browser: you should see plain text, not your site design. A common mistake is a host that answers every unknown path with the site template, which returns an HTML page with a success status.
Then run the llms.txt checker on your domain. It reads the file from our server, reports the content type, validates the structure and opens the first links on your site to catch broken ones. Update the file when your pricing, product name or key pages change, the same day you change them.