<!-- Generated from llms-full-txt/index.html. The canonical document is the HTML page. -->

- [ Home ](/) 
/
- What is llms-full.txt            
# What is llms-full.txt?

A companion file that bundles your entire documentation into a single URL, so LLMs can load it all in one request.

Last updated: August 25, 2026

On this page

- [ What is llms-full.txt? ](#definition)
- [ llms-full.txt vs llms.txt ](#vs-llms-txt)
- [ File structure ](#structure)
- [ Who publishes it? ](#who-uses-it)
- [ How to create one ](#how-to-create)
- [ When to publish llms-full.txt ](#when-to-use)
- [ Caveats and tradeoffs ](#caveats)             
## What is llms-full.txt?

**`llms-full.txt`** is a companion file to [`llms.txt`](/what-is-llms-txt/)
that contains the *actual content* of the pages referenced in `llms.txt`,
concatenated together as a single Markdown document. It lives at the root of a domain:
`https://example.com/llms-full.txt`.

It is a publishing convention used by some documentation providers, not a format defined by the
current llmstxt.org v2 proposal. A client must explicitly support or be configured to consume
it.

Where `llms.txt` is a curated *index* (a table of contents), `llms-full.txt`
is the *full corpus*, the complete readable content, ready to be fed into an LLM context
window in a single HTTP request.

Example

One-sentence version
llms.txt  is the map.  llms-full.txt  is the territory.

## llms-full.txt vs llms.txt

The two files solve different problems:

- **`llms.txt` (the index).** A short Markdown file with section headings
and curated links. Small (typically 1–10 KB). Easy to maintain. Tells an LLM client *which pages*
to read. The client must then follow the links and fetch each page separately. 
- **`llms-full.txt` (the corpus).** A larger Markdown file that inlines the
content of those pages. Can be 50 KB–5 MB+ depending on the size of the documentation. The client
loads a single URL and gets everything at once, no further crawling required.   
Publishing both can suit documentation-heavy sites with a known ingestion workflow: `llms.txt` for lightweight discovery, and `llms-full.txt` for clients explicitly configured to load
the full corpus.

## File structure

There is no strict schema for `llms-full.txt` beyond being valid Markdown. The dominant
convention (established by Mintlify and followed by Anthropic, Vercel, and others) is:

- Each included page starts with its URL as a level-2 heading or a code block header. 
- The full Markdown content of the page follows immediately below. 
- A horizontal rule (`---`) or a blank line separates successive pages.   
A minimal example with two pages inlined:

```
# example.com, full content\n\n## https://example.com/getting-started/\n\n# Getting started\n\nWelcome to Example. To install...\n\n---\n\n## https://example.com/api-reference/\n\n# API reference\n\nBase URL: https://api.example.com/v1...\n
```

## Who publishes it?

The `llms-full.txt` convention was popularized by **Mintlify**, which
auto-generates both `llms.txt` and `llms-full.txt` for every documentation site
it hosts. **Anthropic** publishes one at
[docs.anthropic.com/llms-full.txt](https://platform.claude.com/llms-full.txt), it is several megabytes and contains the full API reference, guides, and model documentation
as concatenated Markdown.

The verified Anthropic endpoint shows that the convention is used in production. It does not
prove that a particular chatbot, crawler, or search engine consumes the file automatically.

## How to create llms-full.txt

There are three common approaches:

- **Static generation at build time.** Write a build script that reads the same Markdown
sources your site uses, strips HTML-specific elements, and concatenates them into
`/public/llms-full.txt` (or the equivalent output directory for your framework). This
is what Mintlify and most static site generators do. 
- **Dynamic server route.** For frameworks that support server-side rendering, create
a route at `/llms-full.txt` that fetches your content at request time, concatenates it,
and returns a plain-text response. Slower per request but always fresh. 
- **Manual maintenance.** For small sites, you can maintain `llms-full.txt`
by hand: copy the Markdown source of your key pages into a single file and update it when content
changes. Not scalable for large documentation, but perfectly valid for a 5-page site.     
Note

Astro and Next.js

In Astro, a  llms-full.txt.ts  endpoint in  src/pages/  using
getStaticPaths  and  Astro.glob()  can generate the file at build time. In
Next.js App Router, a  app/llms-full.txt/route.ts  route handler works the same way. See
the  how-to-create guide  for framework-specific examples.

## When to publish llms-full.txt

Publish `llms-full.txt` if your site meets at least one of these conditions:

- You have technical documentation that developers regularly ask AI assistants about. 
- Your content is spread across many pages that would be expensive for an LLM client to crawl
individually. 
- You want to be usable in RAG pipelines or AI agent workflows that expect a single-URL corpus. 
- You are a SaaS or API provider whose users may ask coding questions to Cursor, Windsurf, or
similar tools.   
If your site has fewer than 10 pages of meaningful content, a well-maintained `llms.txt`
alone is probably sufficient. The extra surface area of `llms-full.txt` earns its keep
at larger documentation scale.

## Caveats and tradeoffs

- **File size.** `llms-full.txt` can become very large. A 500-page documentation site may produce a 10+
MB file, which exceeds the context window of most current LLMs. Consider including only the highest-signal
pages rather than the complete site. 
- **Maintenance overhead.** Unlike `llms.txt` (which only contains links),
`llms-full.txt` duplicates content. If pages change without a re-build trigger, the file
becomes stale. Automate the generation step. 
- **No standardized schema.** Unlike `llms.txt`, which has a
[defined structure at llmstxt.org](https://llmstxt.org/),
`llms-full.txt` format is a community convention without a formal spec. Structure your
file clearly so any client can parse it. 
- **Public exposure.** Everything in `llms-full.txt` is public by definition.
Do not include content you would not otherwise publish at a public URL.   
## Continue reading

- [What is llms.txt](/what-is-llms-txt/), start here if you are new to the
convention. 
- [How to create llms.txt (and llms-full.txt)](/how-to-create/), templates and
per-stack guides. 
- [Comparison: llms.txt vs robots.txt vs sitemap.xml](/comparison/), when to use each
file. 
- [Validator](/validator/), check your llms.txt file against the spec.         
## Sources

- [ llmstxt.org, current v2 proposal (does not define llms-full.txt) ](https://llmstxt.org/)
- [ Anthropic docs, llms-full.txt example ](https://platform.claude.com/llms-full.txt)
- [ Mintlify, popularized the llms-full.txt convention ](https://www.mintlify.com/)
