llms.txt generator

Fill in the form and get an llms.txt in the exact order the specification defines: a name, a summary, details, link sections, an Optional section. Six checks run as you type, and the page writes the <link> tags you need to publish it.

Runs in your browser · nothing uploaded · nothing stored

Your site0 links
Your llms.txt0 lines
Run the full checker →

    Publish it · on every page the file covers

    <link rel="describedby" href="/llms.txt">

    Or as an HTTP header, from the server or CDN

    Link: </llms.txt>; rel="describedby"

    What an llms.txt is

    An llms.txt is a Markdown file, usually at /llms.txt, that gives AI agents and language models a curated map of a website: the site’s name, a short summary, optional background, and sections of links to the pages that matter, each with a note on what it contains. It was proposed by Jeremy Howard in September 2024 and revised as version 2 in August 2026.[1] It complements robots.txt, which says what may be crawled, and sitemap.xml, which lists every page; an llms.txt is the short, opinionated version an agent reads first.

    The spec puts it well: web pages are built for people, wrapped in navigation, ads and JavaScript, and converting them back into clean text is imprecise and costs tokens. Agents are best served by concise, expert-level information in one accessible place. Version 2 adds that the file can live at any path and then covers the pages under it, that each page should offer a clean Markdown twin, and that two link relations help agents find both.[1]

    What the generator produces

    Exactly the order the specification defines, and nothing it does not:[1]

    1. An H1 with the name of the project or site. The only required part.
    2. A blockquote with a short summary: the key information needed to understand the rest of the file.
    3. Free-form Markdown without headings for more detail, such as where the Markdown versions of pages live or how to interpret the links.
    4. H2 sections, each a list of links in the form - [name](url): notes. The notes are optional in the spec and mandatory in practice, because a bare list of URLs gives an agent no basis for choosing.
    5. An “Optional” section, by convention, for links an agent can skip when it needs a shorter context.
    # Acme Analytics
    
    > Acme Analytics is a product analytics platform for B2B SaaS teams. This file maps the documentation, the API reference and the pricing page.
    
    Every documentation page is also available as Markdown at the same URL with .md appended.
    
    ## Documentation
    - [Quickstart](https://www.example.com/docs/quickstart.md): install the SDK and send the first event in ten minutes
    - [Event schema](https://www.example.com/docs/events.md): the required and optional properties of every event
    
    ## Optional
    - [Changelog](https://www.example.com/changelog.md): release notes, newest first

    The six checks

    They run as you type and mirror the llms.txt checks in our context file checker, which you can paste the result into for the full set.

    1. Name present — without an H1 the file does not follow the spec.
    2. Summary present — the blockquote is where an agent learns what the site is before it follows a link.
    3. Every link has a note — the part that turns a list into a map.
    4. Links are same-origin — a third-party page you reviewed in March can say something else in September. Link to what you control.
    5. No instruction-shaped content — the moment the file tells readers what to do or recommend, it stops being a map and becomes an injection surface. The file describes and links, nothing more.
    6. Length — past roughly 120 lines the file starts being skimmed rather than read. Curate; the sitemap already lists everything.

    How to publish it

    Put the file at the root as /llms.txt, served as UTF-8 text; a path-scoped file such as /docs/llms.txt covers only the pages under /docs/, and where more than one applies an agent should use the most specific.[1] Then help agents find it. Version 2 recommends two link relations: rel="describedby" on each page, pointing to the llms.txt that covers it, and rel="alternate" type="text/markdown" pointing to the page’s Markdown twin. Both can be HTML <link> elements or an HTTP Link: header; the header form also works for the Markdown files themselves and can be set in the server or CDN configuration without touching any page.[1] The generator writes both snippets above, filled in with your URL.

    Does anything read it?

    The spec reports that thousands of sites publish the file, that documentation platforms generate it automatically, that Chrome’s Lighthouse audits for it as part of its agentic browsing checks, and that OpenAI, Anthropic and Google publish one for their developer documentation.[1] How often it is actually fetched is a different question, and we answered it from the server logs of 137,000 sites in llms.txt: what the server logs actually show. Read that before you decide how much to invest; the file itself costs a few minutes here.

    Questions people ask

    What is an llms.txt file?

    A Markdown file, usually at /llms.txt, that gives AI agents and language models a curated map of a website: the site's name, a short summary, optional background, and sections of links to pages with notes on what each one contains. It was proposed by Jeremy Howard in September 2024 and revised as version 2 in August 2026. It complements robots.txt, which says what may be crawled, and sitemap.xml, which lists every page.

    What does the llms.txt format require?

    One thing: an H1 with the name of the project or site. After it, in order and all optional: a blockquote with a short summary, free-form Markdown without headings for more detail, and H2 sections each containing a list of links in the form '- [name](url): notes'. A section headed Optional is the convention for links an agent can skip when it needs a shorter context. The generator produces exactly that order.

    Where do I put the file and how do I serve it?

    At the site root as /llms.txt, or at any path, in which case it covers the pages under that path. Serve it as plain text or Markdown with UTF-8. Version 2 of the spec also recommends two link relations so agents can find it: rel=describedby on your pages pointing to the llms.txt that covers them, and rel=alternate type=text/markdown pointing to a Markdown version of each page. Both can be HTML link elements or an HTTP Link header; the generator writes both snippets for you.

    Should llms.txt list every page?

    No. That is what the sitemap is for. An llms.txt is a curated overview: the pages an agent needs to understand and use the site, each with a note on what it contains and why it matters. Link only to resources you control, because a third-party page you reviewed in March can say something else in September, and never put instructions to the reader in it; the file describes and links, nothing more.

    Does anything actually read llms.txt?

    The spec reports that thousands of sites publish one, that documentation platforms generate it automatically, that Chrome's Lighthouse audits for it as part of its agentic browsing checks, and that OpenAI, Anthropic and Google publish one for their developer documentation. Our own analysis of server logs from 137,000 sites, linked below, shows how often the file is fetched in practice. It is cheap to publish and the generator takes a few minutes; the evidence article tells you what to expect from it.

    Is my content uploaded?

    No. The generator is a single page with no server component. Everything you type stays in your browser, the file is assembled in JavaScript, and copy and download work locally. Open the browser's network panel and check.

    Copied