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 resource using CommonMark Markdown. It may live at the origin root or a
more specific path such as https://example.com/docs/llms.txt. The most specific
applicable file describes that scope.
Compatible coding assistants, RAG pipelines and research agents can use the file as a curated
map. Publication alone does not prove discovery or use, so declare it with rel="describedby"
where appropriate and measure the clients you actually support.
Required elements
The August 2026 proposal defines one mandatory element:
- H1 heading, the first line must be an H1 (
# Name) containing the project or site name.
The blockquote summary, explanatory preamble, H2 file lists and link notes are optional.
# 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.
Optional remains a clear editorial label for secondary resources, but v2 assigns it no special processing semantics.
# 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.
Link syntax
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 wider ecosystem uses 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.
A tool that explicitly supports the convention may fetch llms-full.txt for consolidated
context. The trade-off is greater size, staleness and security exposure.
Read the dedicated llms-full.txt guide for generation strategies.
Checklist
- File served at the root or the intended scoped path
- Plain-text or Markdown media type with UTF-8 encoding
- Starts with exactly one H1 heading
- Optional blockquote and preamble contain no headings
- Link targets resolve correctly in their publication context
- Optional link notes are concise and factual
- File size is justified by the tasks and tested clients
- 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
> summarymakes the file harder for models to parse and is non-compliant with the spec. - Wrong Content-Type, serving with
text/htmlor 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
- How to create llms.txt, step-by-step for any stack.
- llms-full.txt guide, full-content companion file.
- Validator, check your file for spec compliance.
- Generator, create a file from a form.
- Best practices, what to include and what to skip.
- Which AI crawlers read llms.txt, adoption status.