AI visibility tool
Free llms.txt Generator and Validator
We read your homepage, find your sitemap, and fetch up to 30 of your pages. Each line of the file comes from a page we fetched.
Free, no sign-up
How the llms.txt generator builds your file
The generator starts at your homepage. It follows any redirect to the address your site settles on, such as the www or https version, and reads the homepage's title, meta description and og:site_name tag. Then it looks for your sitemap: the Sitemap: lines in robots.txt first, then, if robots.txt names none, common addresses such as /sitemap.xml. When the sitemap is an index of other sitemaps, it reads up to 5 of them, one of each kind first, so a WordPress page sitemap is read even when the index lists it after many post sitemaps.
- It keeps only pages on your own site, lists each page once (with or without www, with or without a trailing slash), and sets aside files such as PDFs and images without fetching them.
- It picks up to 30 pages, homepage included: the shortest addresses first, taking one page from each part of the site (each first folder, such as /blog or /docs) before any part gets a second. From a very large sitemap it chooses among the 10,000 shortest addresses, and the result says when that limit, or the 5-sitemap limit, applied.
- It fetches each chosen page once. A page that redirects is listed at the address it ends at, and only if that address is on your site and answers 200 with a web page.
- It writes the file: your site's name as the heading, your homepage's meta description as the summary, and one section per folder, with each page listed under its own title and its own meta description.
If your site has no sitemap, or its sitemap lists none of your pages, the pages come from the links on your homepage instead. The result tells you which source was used.
Every line of the file comes from a page we fetched. A page with no meta description gets no description in the file, rather than one we made up. A page that fails to load, answers an error, redirects to another site or to your homepage, or refuses our checker is left out, and is listed under the file with the reason. One run reads at most 30 pages and stops after 60 seconds; if it stops early, the result says so and names the pages it did not reach.
What is llms.txt?
llms.txt is a proposal, first published by Jeremy Howard in September 2024 at llmstxt.org, for a plain markdown file that tells AI tools what a website is and which of its pages matter. It lives at /llms.txt, next to robots.txt and sitemap.xml, but it does a different job.
| File | Who reads it | What it holds |
|---|---|---|
| robots.txt | Crawlers, before they fetch a page | Rules on which paths each crawler may fetch |
| sitemap.xml | Search engines | Every page you want indexed, with last-changed dates |
| llms.txt | AI tools that choose to read it | The site's name, a one-line summary and links to key pages, each with a short note |
The proposal requires only one thing: a first line with the site's name as an H1 heading. Everything else is optional: a blockquote summary under it, any notes, then H2 sections that list links, each written as a markdown link with an optional note after a colon.
Does llms.txt help AI search?
Not in any way that has been confirmed. Google says plainly that Google Search does not use llms.txt: its guide to AI features in Search, last updated in July 2026, says such files are not needed to appear in Search, including its AI features, and will neither help nor harm your visibility or rankings.
As of October 2026, no major AI company has said that its crawler or its answer engine reads llms.txt. OpenAI, Anthropic and Perplexity document their crawlers and how they follow robots.txt, but none of them documents reading llms.txt. Some developer documentation sites publish one anyway, and a person can always hand the file to an AI assistant themselves.
Lighthouse's llms.txt audit treats the file as optional, and checks for server errors and basic structure: an H1, links and a minimum length. So treat llms.txt as a cheap convention for AI agents and developer tools that look for it, not as a way to rank. What decides whether AI answers mention you is what they find about you across the web.
llms.txt validator: what it checks
The validator reads /llms.txt at the root of your site, or a file you paste, and checks it against the proposal's format. A missing file is reported as missing. If the address answers with a web page instead of a text file, which happens on sites that show the homepage for every unknown address, it says so and does not check the page as llms.txt.
| Check | If it is missing or wrong | Why |
|---|---|---|
| An H1 with the site's name on the first line | Fail | The only part the proposal requires |
| A blockquote summary right after the H1 | Improve | Optional, but it tells a reader what the site is |
| H2 sections | Improve | The proposal lists links under H2 headings |
| Links written as - [Name](url) | Improve | A list item that is not a link gives a reader nothing to follow. A relative address is accepted and noted |
| Each address listed once | Improve | A repeated link adds nothing |
| A note after each link | Improve | Optional, but it says what the page holds |
The score starts at 100 and loses a fixed amount for each problem. It sums up the checks in one number; it is not a published standard, and a file can follow the format with a score below 100. The proposal also lets you place an llms.txt in a folder, such as /docs/llms.txt for the pages under /docs. The URL check reads only the file at the root, so paste any other file to check it.
llms.txt example
This is the shape the generator writes for a small site with a blog, line by line:
| Line | What it is |
|---|---|
| # Example Co | The H1: your site's name |
| > Example Co makes oak tables to order. | The summary: your homepage's meta description |
| ## Main pages | Your homepage and top-level pages |
| - [Pricing](https://example.com/pricing): Prices for every table size. | A page, with its own title and its own meta description |
| ## Blog | One section for each folder, such as /blog |
| - [Caring for oak](https://example.com/blog/oak-care) | A page with no meta description gets no note |
Each section is named after its folder, so /case-studies becomes Case studies. Titles and descriptions are written as the pages give them, with characters such as [ and ] escaped, so no page title can break the file or add a link of its own.
Before you publish the generated file
A generated file is a starting point built from what your pages say about themselves, so read it before you publish it. Remove pages you would not send an AI tool to, such as a login page or a thin tag page. Rename a section if its folder name is unclear. Where a page has no description, the better fix is a meta description on the page itself, which also gives search results a better snippet; you can also write a note into the file by hand.
Publish the file as plain text at /llms.txt, so it answers 200 with a text or markdown content type, then check it with the validator above. Generate it again when you add or move important pages, because the file does not update itself.
The generator reads raw HTML and does not run JavaScript. If your site builds its pages in the browser, titles and descriptions added by scripts are not seen, and those pages may be listed by their address alone.
Questions about llms.txt
What is llms.txt?
llms.txt is a proposal, published at llmstxt.org in 2024, for a markdown file at /llms.txt that tells AI tools what a site is and links to its key pages. Only the first line, an H1 with the site's name, is required; a summary, sections and notes are optional.
Does Google use llms.txt?
No. Google says Google Search does not use llms.txt, and that having one will neither help nor harm your visibility or rankings, including in its AI features. Lighthouse's llms.txt audit treats the file as optional, and checks for server errors and basic structure: an H1, links and a minimum length.
Do ChatGPT, Claude or Perplexity read llms.txt?
As of October 2026, none of OpenAI, Anthropic or Perplexity has said that its crawler or answer engine reads llms.txt; their crawler documentation covers robots.txt only. A person can still give the file to an AI tool by hand.
How does the generator choose pages?
It reads your homepage, then your sitemap (from robots.txt or the common addresses), and picks up to 30 pages: the shortest addresses first, one from each part of your site before any part gets a second. A very large sitemap is cut to its 10,000 shortest addresses, and the result says so. With no usable sitemap, it uses the links on your homepage. Each page is fetched, and only pages that answer 200 with a web page on your site are listed.
Does the generator write descriptions with AI?
No. Each page's title and description are the page's own <title> (or its H1) and its own meta description, and the summary line is your homepage's meta description. A page with no meta description gets no description, and nothing is filled in for you.
Why is a page missing from my file?
The result lists every chosen page that was left out, with the reason: it answered an error, ended on another site or on http instead of https, redirected to your homepage or to a page already listed, was not a web page, refused our checker, or was not reached before the run's 60-second limit. Pages beyond the 30 a run reads are not chosen at all.
Where do I put the llms.txt file?
Publish it as plain text at the root of your site, at /llms.txt, so that it answers 200. The proposal also allows a file in a folder, such as /docs/llms.txt, for the pages under that folder.
How is the validator's score worked out?
It starts at 100 and loses a fixed amount for each problem: a missing H1 name, summary, sections or links, malformed links, repeated addresses and links without a note. It sums up the checks in one number and is not a published standard; only a missing H1 makes a file fail the format.
More free tools
See all free tools- AI Crawler CheckerReads your site's real robots file and shows what it tells GPTBot, ClaudeBot, PerplexityBot and other AI crawlers, with every syntax problem in the file.
- HTML to MarkdownConverts a web page or pasted HTML into clean Markdown, keeping headings, lists, links, tables and code, and shows how a crawler that doesn't run JavaScript reads it.
- Sitemap CheckerFinds a site's sitemaps, validates the XML against the sitemap protocol, checks child sitemaps and spot-checks listed URLs for errors, redirects and noindex.
A file AI tools can read is not the same as being cited
An llms.txt helps an AI tool that chooses to read it. Azuqe's AI visibility module tracks how ChatGPT, Gemini and Google's AI answers describe and cite your brand, so you can see whether AI answers actually use your pages.
Free trial on your first site · Cancel any time