Skip to content
On this page

llms.txt is a proposed web standard - a Markdown file published at a site's root (/llms.txt) that gives large language models a curated, clean map of the site's most important content. It was proposed by Jeremy Howard (Answer.AI) in September 2024. The format is plain Markdown: an H1 with the site name, a blockquote summary, then H2 sections each holding a list of links to key pages, optionally annotated. A companion /llms-full.txt can inline the full text of those pages. The motivation is concrete: a normal HTML page is mostly navigation, ads, and scripts that waste an LLM's limited context window, and crawlers may not execute the JavaScript that renders the real content. llms.txt is a hint about what matters - it is not access control, which is what robots.txt is for.

Quick facts

ProposedJeremy Howard / Answer.AI, September 2024
Location/llms.txt at the domain root; optional /llms-full.txt with full text
FormatMarkdown - H1 name, blockquote summary, H2 link sections
PurposeCurate clean, token-efficient content for LLMs; advisory, not access control
vs robots.txtrobots.txt controls what crawlers may access; llms.txt suggests what content matters

What goes in an llms.txt file

The format is deliberately minimal so both humans and models can read it. The structure, in order: a single H1 with the project or site name; an optional blockquote giving a one-line summary; optional free-form Markdown with context; then any number of H2 sections, each containing a bullet list of links in the form [name](url): optional note. A section named Optional by convention marks links a model can skip if it is short on context.

The sibling file /llms-full.txt takes this further by inlining the actual Markdown content of the listed pages into one document, so a model can ingest an entire docs site in a single fetch instead of crawling page by page. The code example below shows a typical llms.txt.

llms.txt vs robots.txt vs sitemap.xml

All three are root-level files about how machines should treat your site, but they answer different questions and are consumed by different clients.

FileQuestion it answersFormatConsumed by
llms.txtWhich content matters most, in clean form?Markdown, human-readableLLMs / AI tools (advisory)
robots.txtWhat may a crawler access?Directives (User-agent / Allow / Disallow)Search and AI crawlers
sitemap.xmlWhat URLs exist and when did they change?XML, machine-readableSearch engine crawlers

The key distinction: robots.txt grants or denies access and AI-specific bot directives belong there, a sitemap is an exhaustive URL index for crawlers, and llms.txt is a curated, opinionated summary aimed at a model's context window. They are complementary, not substitutes.

Adoption in 2026 and how to generate one

An honest read of adoption: llms.txt is widely published by developer-tool and documentation sites, and a growing number of AI dev tools read it, but it is not a universally honored standard - many models and agents still fetch and parse live HTML rather than looking for /llms.txt first. Treat it as a low-cost, upside-only signal, not a guarantee that a model will use it. Its value also overlaps with retrieval and MCP-based access, where an agent fetches your content on demand.

Generating one means producing clean Markdown for your key pages - which is the same job as scraping a site for LLMs. For a static site you can template it from your own content; for a JavaScript-rendered site you first need each page rendered and converted to Markdown, which a web-data API that returns Markdown does in one call. Once you have the per-page Markdown, assembling llms.txt (the link index) and llms-full.txt (the inlined text) is straightforward.

Code example

markdown
# Acme Docs

> Acme is a payments API for marketplaces. This file lists the docs an LLM should read first.

## Docs

- [Quickstart](https://acme.dev/docs/quickstart): create an account and make your first charge
- [Authentication](https://acme.dev/docs/auth): API keys, OAuth, and webhooks signing
- [Payments API](https://acme.dev/docs/payments): create, capture, refund

## Optional

- [Changelog](https://acme.dev/changelog): version history
- [Status](https://acme.dev/status): live uptime

Next in Scraping for AI agents and LLMs · 3 of 7

How agents get capabilities in the first place.

What Are AI Agent Tools?

Related terms

Concept map

Concept map

How llms.txt connects

The terms most directly tied to this one. Hover a node to see its neighbours, click to preview, drag to rearrange.

0 terms · 0 connections
You are here · Web Scraping APIs
Building map…

Frequently asked questions

Does llms.txt control whether AI crawlers use my site?

No. Access control belongs in robots.txt (including AI-specific bot user-agents) and in your server rules. llms.txt is purely advisory content curation - it tells a cooperating model which pages matter and provides them in clean form, but it does not block or permit any crawler.

Do LLMs actually read llms.txt?

Adoption is growing, especially among documentation and developer-tool sites and the AI coding tools that consume them, but it is not universally honored. Many models and agents still fetch live HTML. Publishing llms.txt is low-cost and upside-only, but do not assume every model will look for it.

How is llms.txt different from a sitemap?

A sitemap is an exhaustive, machine-readable XML list of every URL for search crawlers. llms.txt is a short, curated, human-readable Markdown file pointing only at the content that matters most to a language model, optimized for a limited context window rather than full coverage.

Last updated: 2026-06-08