/ llmtxt.info

llms.txt Format, Spec Reference

The complete reference for the llms.txt file format: required and optional elements, Markdown rules, link syntax, the llms-full.txt variant, and a checklist to validate your file.

Last updated:

Format overview

llms.txt is a plain-text file using standard CommonMark Markdown. It lives at the root of your domain (https://example.com/llms.txt) and serves as a curated index for AI language models, analogous to robots.txt for crawlers, but focused on what to read, not what to avoid.

AI coding assistants, RAG pipelines, and research agents use the file to quickly understand what a site offers and which URLs contain authoritative documentation. Because context windows are limited, a well-structured llms.txt is far more useful than leaving a model to crawl arbitrary pages.

Required elements

The spec defines only two mandatory elements:

  1. H1 heading, the first line must be an H1 (# Name) containing the project or site name.
  2. Blockquote summary, immediately after the H1, a > one-sentence description that summarises what the project does.

Everything else is optional but strongly recommended.

Minimal valid llms.txt
# Your Project Name

> One sentence describing what your project does and who it's for.

## Documentation

- [Getting Started](https://example.com/docs/start): Install and first steps.
- [API Reference](https://example.com/api): Full endpoint catalog.

## Optional

- [Changelog](https://example.com/changelog): Release history.

Optional sections

Sections are H2 headings (##) followed by unordered lists of Markdown links. Common section names include:

  • Documentation, primary docs, guides, references.
  • Product, marketing pages, pricing, status.
  • Examples, code samples, tutorials, demos.
  • Optional, changelog, blog, GitHub, lower priority for AI.
  • API, dedicated API reference section.
  • SDKs, language-specific client libraries.

The section named Optional has special meaning in the spec: AI systems may skip links under it when context is constrained.

Full example llms.txt
# Acme SaaS

> Acme SaaS helps teams automate their billing workflows with a no-code dashboard
> and a REST API supporting 40+ payment providers.

## Product

- [Overview](https://acme.com/product): Core capabilities and use cases.
- [Pricing](https://acme.com/pricing): Plans, limits, and enterprise options.
- [Status](https://status.acme.com/): Uptime and incident history.

## Documentation

- [Quickstart](https://acme.com/docs/quickstart): Set up in under 5 minutes.
- [API Reference](https://acme.com/docs/api): REST endpoints, auth, rate limits.
- [SDKs](https://acme.com/docs/sdks): Node, Python, Ruby, Go clients.
- [Webhooks](https://acme.com/docs/webhooks): Event payloads and retry policy.

## Examples

- [Node.js integration](https://acme.com/examples/node): End-to-end payment flow.
- [Python integration](https://acme.com/examples/python): Subscription management.

## Optional

- [Changelog](https://acme.com/changelog): Version history.
- [Blog](https://acme.com/blog): Product updates and tutorials.
- [GitHub](https://github.com/acme/acme-oss): Open-source components.

Each link follows the Markdown syntax - [Title](URL): short description.

  • Use absolute URLs including the scheme (https://).
  • The description after the colon is plain text, keep it under ~120 characters and make it informative for an AI, not keyword-stuffed.
  • One link per list item, do not nest bullets.
  • Prefer canonical URLs (with trailing slash if that's your convention).

llms-full.txt variant

The spec defines an optional companion file at /llms-full.txt. While llms.txt is an index of links, llms-full.txt contains the full text of those linked pages concatenated together, formatted in Markdown.

AI systems that need complete context in a single request (e.g., systems building a knowledge base offline) fetch llms-full.txt instead. The trade-off: it can be many megabytes and is impractical for interactive use.

Read the dedicated llms-full.txt guide for generation strategies.

Checklist

  • File served at /llms.txt (root path, not a subdirectory)
  • Content-Type: text/plain; charset=utf-8
  • Starts with exactly one H1 heading
  • Blockquote summary on the line immediately after the H1
  • All links are absolute (https://)
  • Each link has a concise description after the colon
  • File is under 20 KB
  • No HTML tags, no nested lists
  • Validated with the llms.txt validator

Common mistakes

  • Relative URLs, - [Docs](/docs) will not resolve correctly when the file is fetched by an AI crawler. Always use absolute URLs.
  • Missing blockquote, skipping the > summary makes the file harder for models to parse and is non-compliant with the spec.
  • Wrong Content-Type, serving with text/html or no content-type causes some parsers to reject the file.
  • Keyword stuffing descriptions, AI models read these literally. Stuffing keywords degrades the quality signal.
  • Listing every page, curate your most important 10–30 links. An exhaustive sitemap belongs in llms-full.txt, not the index.

Related guides

Sources