Your llms.txt file
Fill in the form and press Build llms.txt: the file appears in the box above with a status line that counts lines, links, size and errors. To check a file you already have, paste it into the same box and press Validate pasted file. The generator does not crawl a site or fetch an existing llms.txt; you choose the pages.
What goes into a valid llms.txt file?
A valid llms.txt file contains an H1 with the site or project name, which is the only required part. After it come, in order, an optional blockquote summary, optional notes without headings, and optional H2 sections listing links as [name](url): notes.
llms.txt is a Markdown file that gives AI agents a curated list of a site’s key pages. The llmstxt.org proposal fixes 5 parts in this order:
- Byte order mark (BOM): allowed by the spec at the very start; the generator never emits one.
- H1 name: the one required line, built from the “Site or project name” field. A leading
#typed into the field is removed. - Blockquote summary: each line of the “Summary” field becomes a line starting with
>. - Details: any Markdown except headings. A line starting with
#, or an underline of===or---, is flagged as an error. - File lists: H2 sections of links. Each
## Nameline in the “Sections and links” box starts a section, and eachTitle | https://full-url | noteline becomes- [Title](https://full-url): note.
This template is the generator’s output for the example pre-filled in the form, with a name and summary added:
# Example Co
> Example Co makes invoicing software for small agencies.
## Docs
- [Getting started](https://example.com/start/): Setup in 5 minutes
- [Pricing](https://example.com/pricing/)
## Optional
- [Blog](https://example.com/blog/)
Links typed before any ## Name line land in a section called “Pages”. In titles, [ and ] are escaped; in URLs, spaces and parentheses are percent-encoded. Every link needs a full http or https URL, and a URL listed twice raises a warning. A section named Optional holds links an agent can skip. The file’s history, adoption and readers are covered under llms.txt format and purpose.
Where do you upload llms.txt?
Upload llms.txt to the site root as /llms.txt, or to a subpath such as /docs/llms.txt. A file covers every URL under its own path. Where 2 files cover the same page, agents use the more specific one, so /docs/llms.txt wins for documentation pages.
The “File location” field sets the path. The generator adds the missing slashes, and the status line names the exact upload address.
| File location field | Upload address | Pages covered |
|---|---|---|
/ | /llms.txt | The whole site, except where a more specific file applies |
/docs/ | /docs/llms.txt | Every URL under /docs/; this file wins there |
A site with a documentation folder can publish both: /llms.txt covers the whole site, and /docs/llms.txt covers /docs/ and takes precedence there.
How do agents find the file from a page?
Version 2 of the proposal adds a link relation: a page points to the llms.txt that covers it with rel="describedby", either as an HTML <link> element or as an HTTP Link: header. The “Discovery snippet” box gives both forms for the chosen location. For the root file:
<link rel="describedby" href="/llms.txt">
For sites on Cloudflare Pages, the _headers file sends the header on every page under the path:
/*
Link: </llms.txt>; rel="describedby"
The same proposal uses rel="alternate" type="text/markdown" to point a page to its Markdown version. The generator does not produce those per-page links.
What changed in llms.txt v2?
Version 2 of the llms.txt proposal, published in August 2026, adds discovery links and defines subpath files. Pages point to their llms.txt with rel="describedby", the page.md URL form joins page.html.md, context-expansion tooling is dropped, and the Optional section becomes a convention only.
Jeremy Howard first published the proposal on 3 September 2024. The changes in v2, and how the generator reflects each one:
- Discovery links:
rel="describedby"connects a page to its llms.txt; the generator writes the snippet. - Subpath scope: a file covers URLs under its path and the most specific file applies; the location field supports any folder.
- Markdown URL forms: both
page.html.mdandpage.mdcount as a page’s Markdown version, withindex.html.mdorindex.mdfor URLs without a file name. - Context tooling: the llms_txt2ctx expansion tool is no longer part of the proposal.
- Optional section:
## Optionalstays as a convention for skippable links, with no mechanical meaning.
How is this generator different from crawl-based generators?
This generator builds the file from pages you choose, validates every line against the llmstxt.org rules, and runs entirely in your browser. Crawl-based generators list pages automatically from a sitemap. The llms.txt proposal describes the file as a curated overview, not a complete page list.
| Attribute | This generator | Crawl-based generators |
|---|---|---|
| Input | Name, summary, notes and the links you type | A domain; pages read from the sitemap or a crawl |
| Page selection | The owner picks each page | The tool lists the pages it finds |
| Validation | Errors and warnings for built and pasted files, with line numbers for links | Varies by tool; a score or none |
| Where it runs | In the browser; no server request, no daily cap | On the vendor's server |
The trade-off is typing. A site with 500 pages lists only the pages an agent needs, which is the curation the proposal asks for. The draft stays in the browser between visits until Clear form removes it.
Does an llms.txt file make AI engines cite a site?
No published evidence shows that an llms.txt file raises citations in Google AI Overviews, ChatGPT or Perplexity. Google states that no AI text files are needed to appear in its AI features. The file serves agents that look for it, mainly coding and documentation assistants.
Google’s guide to generative AI features in Search says: “You don’t need to create new machine readable files, AI text files, markup, or Markdown to appear in Google Search.” The llms.txt proposal itself states that the files “are used most heavily for software documentation, where coding agents follow them”. Ahrefs reported in June 2026 that 28% of 137,000 domains in its study published an llms.txt file, and that 97% of the roughly 38,000 domains with a valid file received zero requests for it in May 2026.
Crawler access decides whether a page can be fetched at all; test it with the AI crawler checker. Bikash has a public experiment in the plan, “Does llms.txt change how AI crawlers behave?”, comparing 30 days of server logs before and after publishing a file, split by user agent. Its status is planned, with no results yet; follow it on the experiments page.
Check the rest of your AI access
An llms.txt file is one small part of AI access. The next checks cover the parts that decide whether engines can fetch and cite a page.
Test crawler access
See which of 16 AI crawlers robots.txt allows on any path, and the rule that decides. Open the checker.
Read the llms.txt background
Who proposed it, how v2 came about, who publishes files and what Google and AI crawlers document. What is llms.txt?
Get the whole picture
Crawler access, prompts, citations and passages across 6 engines in a full AI visibility audit.