What does an llms.txt file actually contain?
An llms.txt file is a plain Markdown index placed in your site root that lists your most important pages with short descriptions, so language models can find your best content fast. You write it with an H1 title, a one line summary, H2 sections grouping links, and an optional section for secondary material. The format is simple, but the details decide whether it works.
What does an llms.txt file actually contain?
An llms.txt file contains a required H1 title, an optional summary blockquote, H2 sections with markdown links and descriptions, plus an optional section for secondary pages.
The structure follows the proposal from data scientist Jeremy Howard, first published on 3 September 2024, as reported by Frase. A second version arrived in August 2026 with rules for multiple files, where the more specific file wins. The only mandatory element is the H1 with the site or project name. Everything else is recommended, not required.
A workable skeleton looks like this:
- H1: site or company name (required)
- Blockquote: a short summary of what the site covers
- H2 sections: grouped content areas, each with links and one line descriptions
- Optional section: secondary pages that matter less to an LLM
Mintlify describes the same layout and stresses that the file must be raw Markdown served as plain text, never wrapped in HTML. That single mistake breaks parsing more often than any other.
How do I build an llms.txt file step by step?
You build an llms.txt file by picking 10 to 30 key pages, writing the H1 and summary, grouping links under H2 headings, and saving the file as llms.txt in your site root.
That page count comes straight from Frase, and it is a sensible ceiling: an index exists to point at what matters, not to mirror your sitemap. The full sequence:
- Choose the 10 to 30 pages that matter most to your audience.
- Write the H1 with your site or project name.
- Add a blockquote summary of one or two sentences.
- Group your links under H2 headings by topic.
- Move secondary pages into an Optional section.
- Save the file as llms.txt in the root directory.
- Update it every time you launch or retire a page.
Placement is not negotiable. The file lives at a direct URL such as example.com/llms.txt, according to Mintlify. GitBook notes you can also host it at /docs/llms.txt and verify it with a simple header check: curl -I https://docs.example.com/llms.txt. If that command returns a 200, you are live.
What should I check before publishing the file?
You should verify that the file starts with an H1, that every link returns status 200, and that the file stays under 50KB before you publish it.
The 50KB guideline and the link check both come from Mintlify, which recommends llms-full.txt for comprehensive content instead of bloating the index. Validation is where most files fail quietly, so run through this list:
| Check | What to verify |
|---|---|
| Title | File begins with an H1 (#) |
| Links | Every URL returns status 200 |
| Size | Under 50KB; use llms-full.txt for the rest |
| URLs | Absolute, not relative |
| Format | Raw Markdown, not wrapped in HTML |
| Freshness | Updated after every launch or removal |
The common errors are worth naming directly, because they repeat across almost every broken file: wrapping the file in HTML, including every URL on the site, forgetting to update it, using relative URLs instead of absolute ones, and omitting the H1. Each one is easy to fix and easy to miss.
What is the difference between llms.txt and llms-full.txt?
llms.txt is a short index of links with descriptions, while llms-full.txt holds the complete text of your documentation in a single Markdown file.
Mailmodo confirms the specification defines these two distinct files. GitBook adds the tradeoff: llms-full.txt reduces fetch overhead because everything sits in one request, but it can grow extremely large for extensive documentation sites. llms-full.txt is not part of the core proposal, yet platforms like Mintlify generate it and Anthropic publishes one.
Do language models actually read llms.txt files?
Current language models do not automatically discover llms.txt files, so you must supply the content manually by pasting it into a prompt or uploading the file.
That is the finding from Mailmodo, and the adoption data backs up the caution. Ahrefs looked at 137,210 domains and found that 97% of the llms.txt files they publish got zero requests in May 2026. Semrush recorded zero visits from GPTBot, ClaudeBot, PerplexityBot and Google-Extended between mid August and late October 2025, again per Frase.
Google Search states it does not use llms.txt, and publishing one neither helps nor hurts ranking or visibility. In May 2026, Chrome Lighthouse added an llms.txt audit under a new agentic browsing section, which signals interest from tooling rather than from crawlers. The practical takeaway: treat llms.txt as a low cost, low risk artifact. Publish it, keep it accurate, and do not expect traffic from it today.
Can I generate llms.txt automatically instead of by hand?
You can generate llms.txt automatically through platforms that build it on every deploy, or through standalone tools that read your sitemap and produce the Markdown for you.
Mintlify generates and hosts /llms.txt, /llms-full.txt and .md versions of all your pages automatically at each deploy. GitBook does the same for published docs and exposes Markdown versions of each page. Manual generation, by contrast, needs scripts for llms-full.txt and the Markdown variants.
Other routes worth knowing:
- llmstxt by dotenv: builds the file from your sitemap.xml
- llmstxt by Firecrawl: a standalone generator
- Wordlift’s LLMs.txt Generator: enter your site address, pick pages and posts, process the URL, copy the Markdown
- Hostinger WordPress: WP admin, Tools tab, AI Preferences section, toggle Turn on LLMs.txt
- Hostinger AI Builder: generates the file automatically once the site goes live
Those options come from Mailmodo and Hostinger. If you upload manually, Hostinger notes the default root is /var/www/html/, reachable through a file manager or SFTP. The directory listing around 474 companies that adopted the standard, including Mintlify, Cloudflare and Cursor, shows adoption is real but still early.
How is llms.txt different from robots.txt?
robots.txt uses standard text to tell crawlers what they may scan, while llms.txt uses Markdown to tell AI systems which content matters most.
Hostinger draws that line clearly, and GitBook reinforces it: llms.txt is an emerging convention, not a formal web standard with a fixed schema, and it is not an access control file. It does not replace robots.txt and should never be treated as a permission layer.
One optional detail from Mailmodo: you can add the HTTP header X-Robots-Tag: llms-txt to your server configuration. It is a signal, not a gate.
Frequently Asked Questions
Where exactly should the llms.txt file go?
Place llms.txt in the root directory of your domain so it resolves at example.com/llms.txt. For documentation subdomains, /docs/llms.txt also works. Serve it as raw Markdown, never wrapped in HTML, and confirm the URL returns a 200 response.
How many pages should I list in llms.txt?
Aim for 10 to 30 pages that matter most. Group them under H2 headings by topic and move secondary pages into an Optional section. The goal is a curated index, not a full mirror of your sitemap.
Does publishing llms.txt improve my Google rankings?
No. Google Search states it does not use llms.txt, and publishing one neither helps nor harms ranking or visibility. Treat it as preparation for AI ingestion pipelines rather than a ranking tactic.
Should I create llms-full.txt too?
Create it if you run a documentation site with substantial content. llms-full.txt holds the full text in one file, which cuts fetch overhead, but it can become very large. Keep the index lean and let the full file carry the bulk.
Start small: pick your best pages, write the H1 and summary, publish the file, and check it with a header request. Then keep it current, because a stale index is worse than no index at all. If you want to see the pipeline in action, our blog is the public test case.
Related reading
This article was written and published with ChimpanSEO
Write SEO/AEO articles and publish them to WordPress: it usually takes 1-2 minutes. Try it free, no card required.