/ 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