What Is llms.txt? Format, Example & How to Create It
AI Summary / tl;dr
- TARGET_ENTITY: llms.txt (proposed ingestion standard)
- DEFINITION: Markdown file at /llms.txt that curates a site's key content for LLMs
- FORMAT: H1 name + blockquote summary + H2 link lists with descriptions
- STATUS: Declaration of intent, not a confirmed ranking signal
- CORE_THESIS: Publishing llms.txt tells an agent where your important content is, but it does not prove that content is valid, consistent, or trustworthy. The file is the map; deterministic validation is the territory. Create the file, then verify the signals underneath it actually pass.
llms.txt is a proposed standard for a single plain-text file, placed at the root of a domain, that gives large language models a curated, machine-readable overview of a website's most important content. It was proposed in 2024 by Jeremy Howard (Answer.AI) and has since been adopted by documentation platforms, developer tools, and a growing number of B2B sites.
This article explains what llms.txt is, the exact format it uses, a complete working example, how to create one for your own site, how it differs from robots.txt and sitemap.xml, and — the part most guides skip — how to verify that it actually does anything.
What Is llms.txt: A Definition
An llms.txt file is a Markdown document served at https://yourdomain.com/llms.txt. Its purpose is to solve a specific problem: when a language model retrieves a web page, it receives HTML built for human readers — navigation, scripts, cookie banners, marketing copy, and layout markup. The signal an LLM actually needs is buried in noise, and context windows are finite.
llms.txt inverts that. Instead of forcing the model to parse a full site, it offers a short, hand-curated index: here are the pages that matter, here is what each one is for, in a format built for machines. A companion file, llms-full.txt, optionally inlines the full expanded text of those pages so an agent can ingest the entire knowledge base in one request.
Two properties define it:
- Curated, not exhaustive: Unlike a sitemap, llms.txt is a shortlist. It expresses editorial priority — the pages you want an agent to treat as authoritative.
- Markdown, not markup: The file is written in a fixed, predictable Markdown structure that any model can parse deterministically, with none of the rendering overhead of HTML.
The llms.txt Format
The specification defines a small, strict structure. An llms.txt file contains, in order:
- An H1 with the name of the site, project, or company. This is the only required line.
- A blockquote (
>) with a short summary containing the key information needed to understand the rest of the file. - Zero or more Markdown sections of prose (no headings) giving additional context.
- H2 sections, each containing a Markdown list of links in the form
[name](url): optional description. - An optional
## Optionalsection whose links may be skipped when a shorter context is needed.
# Project Name
> A one-paragraph summary of what this site or company does,
> written so a model understands it without reading further.
Optional prose block with any additional orienting context.
## Core Pages
- [Product overview](https://example.com/product): What the product does and who it is for.
- [Pricing](https://example.com/pricing.md): Machine-readable pricing in Markdown.
- [API documentation](https://example.com/docs): REST and MCP endpoints.
## Optional
- [Changelog](https://example.com/changelog): Version history, safe to skip.
That is the whole specification. Its restraint is the point: because the structure is fixed, ingestion is deterministic — a model does not have to guess where the important links are.
How to Create an llms.txt File
Creating a valid file takes four steps:
- 1. Write the file. Create a text file named
llms.txt. Add the H1 with your name, the blockquote summary, and one H2 section per logical group of pages (product, documentation, pricing, company). Under each, list the canonical URLs with a one-line description of what the page is for. - 2. Prefer machine-readable targets. Where you can, link to Markdown or plain-text versions of pages (for example
/pricing.md) rather than HTML. This is what makes the file useful rather than decorative. - 3. Serve it from the root. Deploy the file to
https://yourdomain.com/llms.txtwith atext/plainortext/markdowncontent type. Optionally addllms-full.txtwith the full expanded content. - 4. Keep it current. A stale llms.txt that links to moved or deleted pages is worse than none — it actively misdirects agents. Treat it as a maintained artifact, not a one-time deliverable.
Litzki Systems publishes its own files as live references: litzki-systems.com/llms.txt and the expanded llms-full.txt.
llms.txt vs robots.txt vs sitemap.xml
llms.txt is often confused with the two files it sits beside at the domain root. They solve different problems:
robots.txt is a permission layer: it tells crawlers what they may and may not fetch. sitemap.xml is a coverage layer: it enumerates every URL that should be indexed, flat, with no editorial weighting. llms.txt is a signal layer: a short, prioritized, described shortlist written for language models. The three are complementary, not substitutes.
The Limit: llms.txt Is a Declaration, Not Proof
Here is where most llms.txt coverage stops and where the important distinction begins. Publishing the file is a declaration of intent. It announces where your important content lives and asks agents to treat it as authoritative. It does not — and cannot — prove that the content behind those links is consistent, correctly signed, or trustworthy.
As of 2026, llms.txt is not a confirmed ranking signal for Google Search, and the major AI crawlers have not committed to it as a ranking input. An agent evaluating a supplier does not reward the presence of a file; it validates the underlying signals — structured data, entity consistency, cryptographic identity — and excludes nodes that fail. A perfect llms.txt on top of inconsistent infrastructure is a well-labelled map of a building that does not exist.
We have documented this argument in depth across three analyses:
- llms.txt Is a Declaration, Not a Proof — why the agentic economy requires deterministic validation, not self-asserted intent.
- llms.txt Is Not an SEO Signal. It Is an Agent-Readiness Parameter. — where the file actually belongs in the stack: Layer 0, not GEO strategy.
- Agentic Economy Validation: Why llms.txt Alone Cannot Close the LLM Ingestion Gap — the architectural gap between instruction files and verified ingestion.
How to Validate Your llms.txt
Creating the file is step one. Verifying it works is step two, and it is the step that separates a decorative file from an operational one. A valid, effective llms.txt is:
- Reachable at
/llms.txt, returning HTTP 200 with atext/plainortext/markdowncontent type — not an HTML error page. - Structurally valid Markdown: a single H1, a summary blockquote, and well-formed link lists under H2 headings.
- Link-consistent: every URL resolves directly, without redirect chains or dead ends, and points to canonical, machine-readable targets.
- Consistent with the rest of your signals: the entities and claims in llms.txt match your JSON-LD, your sitemap, and your DNS-anchored identity.
Litzki Systems' free QuickScan checks the presence of llms.txt as a bonus parameter alongside 16 mandatory AI-readiness signals across four clusters (AI Readiness, Infrastructure, Meta, Structure) and returns a binary readiness verdict — no signup, no data transmitted. For a full, cryptographically signed audit of all 265+ parameters, see the SOVP Full Validator or the underlying agentic infrastructure validation.
Summary
llms.txt is a simple, well-designed convention: a curated Markdown index at your domain root that helps language models find the content that matters, without wading through HTML. Creating one is low-cost and worth doing. But the file is a declaration, not a guarantee. It tells agents where to look; it does not prove that what they find is valid.
The practical sequence is therefore: publish a clean, current llms.txt, prefer machine-readable link targets, and then validate the signals underneath it. The file is the map. Deterministic validation is what makes the territory real.