What Is llms-full.txt?
If llms.txt is the table of contents, llms-full.txt is the book. It is the expanded variant of the llms.txt proposal — a single Markdown file that does not just link your important pages but inlines their actual contents, so a language model can read the substance without fetching each URL separately.
The index and the full text
The llms.txt proposal, introduced by Jeremy Howard of Answer.AI in 2024, describes two related artifacts. The primary one, llms.txt, is a short curated map: a title, a one-line description, and grouped links to your key pages. The companion, llms-full.txt, takes the same idea further by concatenating the actual content of those pages into one Markdown document. Instead of pointing a model at ten URLs and hoping it fetches each, you hand it a single file it can read start to finish.
The appeal is efficiency. Fetching many pages, stripping navigation and scripts from each, and stitching them together is work. A pre-assembled, clean Markdown file removes that friction. This is why documentation-heavy sites and developer tools have been among the earliest to experiment with the full variant — their value lives in long reference content that benefits from being available as one coherent read.
What it looks like inside
An llms-full.txt file typically opens like an llms.txt — a heading and description — and then, rather than stopping at links, it includes each page's content in full under clear headings:
# Example Docs > Full documentation for the Example API. # Getting started Install the client with your package manager, then set your API key as an environment variable. Every request must include an Authorization header... # Authentication The API uses bearer tokens. Generate a token in the dashboard under Settings > API Keys. Tokens are scoped to a single project and can be rotated at any time... # Rate limits Requests are limited per token per minute. When you exceed the limit the API returns a 429 with a Retry-After header...
The key difference from llms.txt: the words are the content, not descriptions of where to find it.
Trade-offs to weigh
Size and context limits
Language models read within a finite context window. A very large llms-full.txt may be truncated, sampled, or only partially processed. Bundling everything does not guarantee everything is read — sometimes a focused subset serves better than a giant dump.
Maintenance burden
Because it inlines content, llms-full.txt goes stale the moment your pages change. It is best generated automatically from the same source as your site, so it regenerates on publish rather than drifting out of sync by hand.
Duplication and exposure
You are publishing a second, plain-text copy of your content. That is fine for public, already-indexed material, but never inline anything private — llms-full.txt is advisory and public, with no access control of its own.
Do you need it?
For a small marketing site, probably not — a well-written llms.txt that links your handful of important pages is usually enough, and models can fetch those pages if they choose. The full variant earns its keep on content-dense sites: documentation, knowledge bases, extensive guides, and reference material where the substance is long-form and benefits from being delivered as one clean read.
As with the rest of the llms.txt ecosystem, keep expectations grounded. Support varies across platforms, and there is no guarantee that a given AI system fetches or fully reads your llms-full.txt. Publishing one is a low-cost way to make your content maximally easy to consume for whatever does come looking — but it is an offer, not a lever.
Frequently Asked Questions
Is llms-full.txt required if I already have llms.txt?
No. llms-full.txt is optional. llms.txt is the primary, lightweight file — a curated index. llms-full.txt is a heavier companion that inlines page contents. Many sites publish only llms.txt and are perfectly reasonable in doing so.
How big can llms-full.txt get?
As large as the content you inline. For a small site it might be a few thousand words; for a documentation set it can run to hundreds of thousands. Because language models have finite context windows, an enormous llms-full.txt may be truncated or only partially read.
Where does llms-full.txt live?
At the site root, alongside llms.txt: https://example.com/llms-full.txt. Keeping it at a predictable root path is the convention so tools and crawlers can find it.
Will an AI model actually read the whole thing?
There is no guarantee. Whether any given system fetches llms-full.txt, and how much of it it ingests, varies by platform and is constrained by context limits. Treat it as an offering, not a certainty.
Should the content be Markdown or HTML?
Markdown. Like llms.txt, the full variant is meant to be clean, low-noise Markdown — the same content a reader would see, minus navigation chrome, ads, and scripts.
Start with a solid llms.txt
The index file comes first. Generate a clean llms.txt for your domain, then decide whether a full variant is worth adding.