Build or check your llms.txt
Write an llms.txt for your site in minutes, or check a live or pasted one against the llmstxt.org proposal, with a fix for every gap. Free, no sign-up.
Check a site's llms.txt
Build your llms.txt
Fill in the fields and the file is written below as you type, in the order the proposal sets out. Nothing you type is sent to us.
# Untitled site
Save it as llms.txt at the root of your site, next to robots.txt, and serve it as text/markdown or text/plain.
Paste your llms.txt
Not live yet? Paste the file here. The check runs in your browser, and nothing you paste is sent to us. For a file that is live, use the site check above: it also checks how the file is served.
What is llms.txt?
llms.txt is a Markdown file at the root of a site that tells AI tools what the site is about and where its most useful pages are. The proposal at llmstxt.org keeps it small: an H1 with the site's name, a summary in a blockquote, optional free text, then H2 sections that list links, with an Optional section last for pages a tool may skip. A short example:
# Example
> Example is a reporting tool for subscription businesses.
## Docs
- [Getting started](https://example.com/docs/start): Connect billing and see the first report
- [Pricing](https://example.com/pricing): Plans and monthly prices
## Optional
- [Blog](https://example.com/blog): Articles on subscription metricsWhy a map, not a rule
Despite the name, llms.txt is nothing like robots.txt: it controls nothing and blocks nothing. It is a short, chosen list for a reader with a limited context window. Google's guide to its generative AI features says its Search does not use the file, and most published files are never requested, as the evidence post sets out. What it costs is an afternoon; what it gives coding agents and other tools that do read it is your site in twenty lines.
How to fix the common problems
- The address serves an HTML page. A single-page app's catch-all route or a themed not-found page answers with status 200 and markup. Put the file where static files live, so
/llms.txtreturns the Markdown itself. - No H1, or text before it. The first line is
# Your site. Move any introduction below it, or into the blockquote. - List items that are not links. Under an H2, each item is
- [Page name](https://your.site/page): a short note. Plain text and facts go above the first H2. - Relative addresses. A tool reads the file on its own, so
/pricingcannot be resolved. Writehttps://your.site/pricing. - H3 headings. The proposal has H1 and H2 only. Make each H3 its own H2 section, or fold it into the link notes.
- A stale file. Generate it from the same list as your sitemap if you can, as Vouch does for its own.
Common questions
What does the validator check?
The structure the llmstxt.org proposal describes: an H1 naming the site first and only one, a blockquote summary, no heading below H2, H2 sections whose list items are Markdown links with full http or https addresses, and an Optional section last. For a live file it also checks that the address serves the Markdown file rather than an HTML page, with a text content type, and that it is not over 512 KB.
Is llms.txt a standard, and do AI assistants read it?
No. It is a 2024 proposal by Jeremy Howard, open for community input. Google says its Search ignores the file, and in a June 2026 Ahrefs study 97 percent of llms.txt files received no requests in a month. Coding agents and some other tools do read it. Treat it as a cheap, optional map, not a way into AI answers.
What goes in a good one?
The site's name, one or two plain sentences saying what it is and for whom, and a short list of the pages that explain it best, each with an honest one-line note: product facts, pricing, documentation, comparisons. Not the whole sitemap, and nothing that goes stale on its own.
Does llms.txt control what crawlers may read?
No. It allows nothing and blocks nothing; access is set in robots.txt. The free AI crawler checker reads a site's robots.txt for 14 AI and search crawlers and says which may read it.
What does the tool store?
A site's result is kept in memory for an hour, so repeat checks and shared result links do not hit the site again. Nothing about the site is saved to a database. What you type into the generator or paste into the check stays in your browser and is never sent to us. The address of the person checking is only counted, hashed, for the rate limit.