Guide · Updated June 2026
llms.txt Format Guide: Exact Spec, Fields, and Examples (2026)
llms.txt is a voluntary Markdown site-map proposal. A consumer may choose whether to fetch or honor it, and Google Search ignores it. This guide covers the proposed format and best practices — what's required, what's optional, what breaks parsers, and a complete copy-paste example.
The llms.txt proposal was published by Jeremy Howard in 2024. By June 2026, our crawl of 10,000 top sites found 6.9% adoption in that measured cohort. Adoption is not a competitive advantage by itself: the proposal does not require any engine to consume the file, and Google says it ignores llms.txt for Search and AI features.
The CiteFuel llms.txt generator builds a valid file automatically from your sitemap. This guide explains the format so you can write or edit one manually.
Anatomy of a valid llms.txt
A minimal valid llms.txt has three parts:
# [Site Name]
> [One-sentence description of the site and its purpose.]
## [Section Name]
- [Page Title](https://yourdomain.com/page): Brief description of what this page contains. CiteFuel validates these proposal-format conventions:
| Element | Required? | Syntax | Notes |
|---|---|---|---|
| Site name | Yes | # Site Name | First line of file. Single #, one space, then name. |
| Description | Yes | > Description. | Immediately after H1. Single sentence preferred. No line break between H1 and this. |
| Sitemap link | No | Sitemap: URL | Add after description, before first section. |
| Section header | Yes (≥1) | ## Section Name | Double #. Common names: Pages, Blog, Tools, Documentation. |
| Page entry | Yes (≥1 total) | - [Title](URL): description | Hyphen, space, Markdown link, colon, space, description. All parts required. |
| Optional fields | No | - [Title](URL): desc [optional: value] | Bracket notation for metadata like priority or language. |
Complete example
# Acme Analytics
> Acme Analytics is a B2B SaaS tool that tracks website performance and user behavior for marketing teams.
Sitemap: https://acmeanalytics.com/sitemap.xml
## Pages
- [Home](https://acmeanalytics.com/): Product overview and key features for marketing teams.
- [Pricing](https://acmeanalytics.com/pricing): Subscription plans — Starter ($49/mo), Growth ($149/mo), Enterprise.
- [About](https://acmeanalytics.com/about): Company background, team, and mission.
## Features
- [Funnel Tracking](https://acmeanalytics.com/features/funnel): Step-by-step conversion funnel analysis with drop-off attribution.
- [Cohort Analysis](https://acmeanalytics.com/features/cohorts): Retention curves and cohort behavior over time.
## Blog
- [How to read a funnel report](https://acmeanalytics.com/blog/funnel-report): Step-by-step guide to interpreting funnel data.
- [UTM tracking best practices](https://acmeanalytics.com/blog/utm-best-practices): How to set up UTM parameters for accurate attribution.
## Documentation
- [API Reference](https://acmeanalytics.com/docs/api): Full REST API docs for developers.
- [Quickstart](https://acmeanalytics.com/docs/quickstart): Get tracking live in 10 minutes. Common proposal-format and file-hygiene mistakes
1. Missing blockquote description
Skipping the > description line fails CiteFuel's proposal-format validation. Consumers are free to parse, ignore, or interpret the file differently.
2. Incorrect page entry format
Each entry must be a Markdown list item with a Markdown link followed by a colon. All of these are wrong:
# Wrong — plain text, not a link
- Home page (https://acmeanalytics.com): Overview
# Wrong — no colon separator
- [Home](https://acmeanalytics.com) Overview
# Wrong — no description
- [Home](https://acmeanalytics.com): 3. File too large
CiteFuel recommends keeping the optional file concise and flags files over 50KB as a usability heuristic. That threshold is not a universal engine limit.
4. Wrong content-type
Serve the Markdown as text/plain; charset=utf-8 for predictable file handling. Do not infer that every consumer will reject another content type.
5. Indented section headers
The ## must be at the start of the line. Indented headers ( ## Blog) are not parsed as Markdown headers by most AI systems.
Where to place llms.txt
Always at the domain root: https://yourdomain.com/llms.txt. Subdirectory paths
(e.g. /docs/llms.txt) are not where AI systems look.
For multi-subdomain sites, each subdomain needs its own file — AI systems treat
docs.yourdomain.com as a separate site.
Validate your llms.txt
Use the free CiteFuel validator to check your file against 11 syntax and format checks — required fields, URL-shape hygiene, file size, content-type, and sitemap consistency. Paste your file content in the "Validate existing file" tab.
For a deployment walkthrough (Astro, Next.js, WordPress), see How to add llms.txt to your site. To inventory crawler responses and sampled presence separately, run a full CiteFuel audit.
Frequently asked questions
What is the minimum valid llms.txt?
Three elements: (1) an H1 with your site name (# Site Name), (2) a blockquote description (> One sentence about your site.), and (3) at least one section with one page entry (## Pages then - [Title](URL): description). Without all three, most validators will flag the file as malformed.
Is llms-full.txt different from llms.txt?
Yes. llms.txt is an index — it lists your important pages with brief descriptions (keep under 50KB). llms-full.txt contains expanded content (full page text), targeting systems that want depth. Start with llms.txt; add the full variant for documentation-heavy sites or when you have substantial blog content.
Does capitalization or spacing matter in the format?
Yes. H1 must use # (single hash, space, name). Sections use ##. Blockquote uses > at the line start. Page entries are - [Title](URL): description — the hyphen, space, bracket, and colon separator are all required. Extra spaces before # break most parsers.
Can I have multiple ## sections?
Yes. The llms.txt proposal permits Markdown section labels such as ## Pages, ## Blog, ## Tools, and ## Documentation. Grouping can make the file easier for people to review, but no consumer adoption or visibility benefit should be assumed; a flat list can also be valid.
Should llms.txt include my sitemap URL?
Optional in the proposal. Add a line like Sitemap: https://yourdomain.com/sitemap.xml only if you want the optional file to reference the canonical sitemap. No consumer is required to use it, and Google Search ignores llms.txt.