Free tool

llms.txt generator and validator for the v2 spec

Build an llms.txt file from a form, a pasted list of URLs or your sitemap, and check an existing one against the current spec (version 2, August 2026) with line-numbered findings. It is free, needs no sign-up and runs in your browser.

Generate an llms.txt

One or two sentences an agent needs first: what it is, who it is for, what it does.

Any Markdown except headings: key facts, caveats, how to read the links.

Sections and links

Each section becomes an H2 with a list of links. Put background reading in an Optional section.

Import links

This page cannot fetch your sitemap: browsers stop one site from reading another site's files (cross-origin rules). Open yoursite.com/sitemap.xml, copy it and paste it here.

Links join the section with the same name; duplicates are skipped.

Your llms.txt

Help agents find it (v2)

Put the link element in your pages' head, or send the header from your server or CDN.

Validate an llms.txt

Open yoursite.com/llms.txt, copy all of it and paste it here. Checked against the v2 format (10 August 2026).

Findings

    Runs entirely in your browser. Nothing you type, paste or import is sent to Olano or anyone else, and nothing is saved.

    What is llms.txt?

    llms.txt is a Markdown file at the root of a website (/llms.txt) that gives AI agents a short, curated map of the site: its name, a one-paragraph summary and lists of links to the pages worth reading. Jeremy Howard of Answer.AI proposed it in September 2024 and published version 2 of the proposal on 10 August 2026.

    An agent helping someone, such as a coding assistant looking up an API, reads the file first and fetches only the pages it needs, ideally as clean Markdown rather than HTML wrapped in navigation and scripts. The proposal says the file is meant for this on-demand use, not for training models.

    What does the llms.txt format require?

    Only an H1 with the site or project name is required. The other parts are optional but come in a fixed order, so a program can parse the file as well as a model can read it.

    PartRuleExample
    H1Required, first, exactly one# Example Analytics
    SummaryA blockquote straight after the H1> A dashboard for online shops.
    DetailsAny Markdown except headingsParagraphs, bullet lists
    SectionsH2 headings, each holding a file list## Docs
    File list itemA link, then optionally a colon and notes- [API](https://example.com/api.md): Limits
    OptionalBy convention, links an agent may skip## Optional

    A byte order mark may precede the H1. A file can also sit in a subfolder, such as /docs/llms.txt: it covers the pages under its path, and where two files apply, agents should use the more specific one.

    What changed in llms.txt v2?

    The file format did not change, so a valid v1 file is still valid. The v2 changes are about everything around the file:

    • Discovery. A page can point to its Markdown version with rel="alternate" type="text/markdown" and to the llms.txt that covers it with rel="describedby", as an HTML link element or an HTTP Link header. The generator writes both.
    • Markdown URLs. Both page.html.md and page.md are allowed; a URL without a file name uses index.html.md or index.md.
    • Scope. A file covers everything under its path, so a project that controls only a folder, such as a GitHub Pages site, can publish its own.
    • Use. Agents are expected to read or search the file and follow its links, so links should point at LLM-friendly content. The context-expansion tool from v1 is no longer part of the proposal, and the Optional section is now only a convention.

    How to create an llms.txt file: a worked example

    1. Copy your sitemap (usually yoursite.com/sitemap.xml) into Import links, or use Paste an example sitemap.
    2. Choose Import links. The six example URLs become three sections: Pages (home and pricing), Docs and Blog. A page alone in its folder joins Pages.
    3. Prune. Agents need the pages that answer questions, not every post, so delete the rest and move background reading to an Optional section.
    4. Add a short note after each link on what the page answers.
    5. If your site serves Markdown copies, tick the .md option before importing: /docs/api becomes /docs/api.md.
    6. Download the file, upload it to your site root, then paste the live file into the validator to check your server returns it, not an error page.
    # Example Analytics
    
    > A hosted dashboard for small online shops.
    
    ## Docs
    
    - [Quick start](https://example.com/docs/quick-start.md): Connect a store
    - [API reference](https://example.com/docs/api.md): Endpoints and limits

    What is llms-full.txt?

    llms-full.txt is not part of the llms.txt proposal. It is a convention from documentation platforms: Mintlify, for example, generates one that combines a whole documentation site into a single file, each page with its title, URL, description and full Markdown. It suits a small doc set an agent can load in one request; a large site soon outgrows a context window.

    The proposal's own companions are the ones in the v2 list: Markdown versions of pages, two link relations and files in subfolders. It skips /.well-known/ because well-known addresses exist only at a domain's root, while an llms.txt can describe any path.

    Does Google or any AI company use llms.txt?

    No major search engine has said it uses llms.txt. Google says the opposite: its AI optimization guide, updated 10 July 2026, says you do not need "new machine readable files, AI text files, markup, or Markdown to appear in Google Search (including its generative AI capabilities), as Google Search itself doesn't use them."

    We found no statement from Microsoft Bing, OpenAI, Anthropic or Perplexity that their crawlers or search features read llms.txt (checked 17 October 2026). What does exist:

    • Chrome's Lighthouse has an experimental agentic browsing llms.txt audit: it flags a /llms.txt that returns a server error and marks a missing file not applicable.
    • OpenAI, Anthropic and Google's Gemini API publish llms.txt files for their developer docs, which is not the same as reading other sites' files.
    • The proposal's author reports that coding agents follow these files when pointed at documentation, which is where llms.txt earns its keep.

    Treat it as a cheap convenience for agents that come looking, not a ranking factor or an access control. Crawling is governed by robots.txt; our robots.txt checker shows it crawler by crawler.

    Common llms.txt mistakes

    • Serving HTML. A site that answers /llms.txt with its home page or a 404 page gives agents nothing to parse.
    • Two H1s, or text before the H1. The H1 comes first, and there is only one.
    • Prose under H2 headings. The format expects link lists there; the proposal's reference parser stops at a paragraph inside a section. Put explanations above the first H2.
    • Relative links. A file read away from your site cannot resolve /docs/api; use full URLs.
    • Dumping the sitemap. Hundreds of bare links defeat the point.
    • Expecting it to block anything. It invites; it does not restrict.

    How Olano helps

    We publish llms.txt files for olano.ai and olano.sg. Run through this validator on 17 October 2026, the olano.ai file had no errors and nine warnings: five sections held prose or plain bullets, such as the tools our home page offers in-browser agents, instead of links. We moved that prose above the first H2, where the spec allows it, and the file (227 lines, 122 links in four H2 sections) now checks clean. We publish no llms-full.txt, and our robots.txt names 20 search, AI and answer-engine crawlers and allows them all.

    The Olano platform is where agents go from reading a business to working in it: AI agents that act across 15+ messaging channels and 450+ connector tools, with approvals before sensitive actions. The documentation shows how it fits together, and plans start at US$25 a month.

    FAQ

    What is llms.txt?

    A Markdown file at /llms.txt that gives AI agents a curated overview of a website: its name, a short summary and links to the pages worth reading. Jeremy Howard proposed it in September 2024; version 2 followed on 10 August 2026.

    Does Google use llms.txt?

    Not for Search. Google's AI optimization guide says you do not need llms.txt to appear in Google Search or its generative AI features, because Google Search does not use it. Chrome's Lighthouse does check the file in an experimental audit.

    Is llms.txt the same as robots.txt?

    No. robots.txt tells crawlers which URLs they may fetch. llms.txt only describes your content for agents that choose to read it; it cannot allow or block anything.

    What is the difference between llms.txt and llms-full.txt?

    llms.txt is a short index of links. llms-full.txt, a documentation-platform convention rather than part of the proposal, puts the full text of every page in one file.

    Is a v1 llms.txt still valid under v2?

    Yes. The format is unchanged. Version 2 adds link relations for discovery, allows page.md as well as page.html.md, defines what a file in a subfolder covers, and makes the Optional section a convention only.

    More free tools

    Free utilities for teams building AI agents. See all free tools.

    Checked 17 October 2026 against the llms.txt proposal, version 2 (llmstxt.org, last modified 10 August 2026; source on GitHub), Google Search Central's AI optimization guide (updated 10 July 2026), Chrome's Lighthouse llms.txt audit (updated 5 May 2026) and Mintlify's llms.txt documentation. llms.txt is a community proposal, not a standard from a standards body, and it may change; the proposal is the authoritative source. Olano is not affiliated with Answer.AI or the llms.txt project. The examples use example.com, a domain reserved for documentation. If we have described something wrongly, write to support@olano.ai and we will correct this page.

    Want agents that work with your business, not just read it?

    Tell us what you would like an agent to handle. We will say plainly what is ready, what needs connecting, and where a person should stay in the loop.