llms.txt is a plain-text file at the root of your domain that tells an AI model what your site is and which pages are worth reading. It is written in Markdown, lives at yourdomain.com/llms.txt next to robots.txt, and was proposed by Jeremy Howard in 2024. Where robots.txt says what a crawler may not fetch, llms.txt suggests what is worth reading and what each page means. This free generator builds one to the published format in a couple of minutes.
Updated 3 October 2026.
What is llms.txt, and what goes in the file
The format published at llmstxt.org is deliberately small. A valid file has four parts, in order.
- An H1 with your site or company name. One line, starting with
#. This is the only required element. - A blockquote summary. One paragraph starting with
>that says what you are and who you are for. If a model reads one line of your file, it reads this one, so write it as the sentence you would want quoted back. - Optional detail paragraphs. Plain prose for anything the summary cannot carry: where you are based, how pricing works, how you want to be attributed.
- H2 sections of links. Each section groups related pages under a heading like
## Start hereor## Free tools. Every bullet is a Markdown link followed by a colon and a short description of what is on that page. An H2 named## Optionalis reserved by convention for secondary links a model can skip when it needs a shorter context.
The descriptions are the part people skip, and they are the part that does the work. A bare list of URLs tells a model nothing it could not get from your sitemap. A line of plain English after each link is the whole point of the file.
An llms.txt example you can look at right now
Rather than a toy sample, read a real one: our own file at digijaws.com/llms.txt. It opens like this, verbatim apart from line wrapping; the live file runs to 86 links across ten sections.
# DigiJaws > DigiJaws is AI search visibility and agent-readiness software. It scans a > website for the technical signals AI answer engines use, scores 18 signals > across discovery, understanding and trust, and generates publish-ready > fixes: an llms.txt file, Organization and FAQ JSON-LD, AI-crawler > robots.txt rules and answer-first rewrites. DigiJaws is based in Denver, Colorado, and was founded in 2025 by Beau Thoutt. The core scan is free with no signup; Pro is $49/month and adds tracking for up to five sites, weekly rescans, regression alerts and the AI-fix tools. Content on this site may be quoted with attribution to DigiJaws (digijaws.com). ## Start here - [AI Visibility Checker](https://digijaws.com/ai-visibility-checker/): Free scan that checks the 18 technical signals that decide whether an answer engine can find, read and quote a URL - [Platform](https://digijaws.com/platform/): What the DigiJaws software does and how the engines fit together - [Pricing](https://digijaws.com/pricing/): Free and Pro ($49/month) plans, side by side - [About](https://digijaws.com/about/): Why DigiJaws exists and who runs it - [Contact](https://digijaws.com/contact/): Talk to the team
Three things in that opening are worth copying. The summary states the category and the mechanism, not a slogan. The detail paragraph carries the facts a model would otherwise guess at, including an explicit attribution line. And every link has a description written for a reader, not a crawler.
How to use the llms.txt generator
- Name the site and write the summary. One sentence on what you do and who for. Resist adjectives; a model cannot verify “leading” or “innovative”, and they crowd out the facts that matter.
- Add your key pages in groups. Start with the handful someone would need to understand your business: what you sell, what it costs, who you are, how to get in touch. Then your best reference content.
- Write a description for every link. One line, concrete, in the words a buyer would use.
- Copy the file and publish it at your domain root, so it loads at
yourdomain.com/llms.txtas plain text. - Verify the live URL with the llms.txt checker. Publishing is the step that most often goes wrong, especially on WordPress.
Publishing it on WordPress, where it usually breaks
On a standard self-hosted install, a real llms.txt uploaded to the web root is served as-is: WordPress’s default Apache and nginx rules hand existing files to the web server before WordPress runs. Where it goes wrong is managed hosting, and the reason varies by host. WordPress.com only offers SFTP on its Business and Commerce plans, so cheaper plans have nowhere to put the file, on WP Engine, whose nginx layer answers .txt requests before WordPress loads, a plugin’s virtual /llms.txt can return a 404 even though the plugin is active, and on Pressable and other WP Cloud hosts a plugin that writes a physical llms.txt can write it outside the public web root, which also 404s. Two things work reliably. Either a small plugin or code snippet that answers the /llms.txt request directly and sends a plain-text content type, which is how the file on this site is served, or a server-level rule that serves the static file before WordPress sees the request.
Check the result by fetching the URL and looking at what actually comes back, not by glancing at it in a browser tab. The two failures that look fine on screen are a file served as text/html and a 404 page whose body happens to contain your text.
Does llms.txt do anything? The honest answer
As of October 2026, no major AI platform documents reading llms.txt, and Google’s Search Central documentation says plainly that Google Search ignores them. There is no published evidence that having one changes whether you get cited, and anyone selling it as a ranking factor is ahead of the evidence. We build the tool and we publish our own file, and we are still telling you that. OpenAI, Anthropic and Google all publish an llms.txt for their own developer documentation, and Chrome’s Lighthouse has audited for one since 13.3 moved its agentic-browsing category into the default report, so the format has serious publishers even though no engine documents reading it.
What it is good for is narrower and real. Writing one forces you to state, in one place and in plain language, what your site is and which twenty pages matter, which is an exercise most teams have never actually done. The result is a file you can hand to any AI tool, paste into a prompt, or point a partner at. It costs an hour and a few bytes. The case for it is that it is cheap and possibly useful, not that it is a ranking lever.
If you want the parts of AI visibility that do have support behind them, the AI visibility checker scores the eighteen structural signals that decide whether an engine can find, read and quote a page, and names the fix for each.
llms.txt, robots.txt and sitemap.xml do different jobs
- robots.txt is permission. It tells each crawler what it may not fetch, and it is the only one of the three that actually controls AI crawler access. The AI crawler access checker tests yours against GPTBot, ClaudeBot, PerplexityBot, Google-Extended and the others.
- sitemap.xml is inventory. Every URL you want indexed, with no indication of which ones matter or what they are about.
- llms.txt is editorial. A short list of what is worth reading, with a human sentence explaining each one.
Publishing llms.txt grants nothing. If robots.txt blocks a crawler, listing a page in llms.txt does not let it through.
What about llms-full.txt?
A companion convention, started by Mintlify and Anthropic for documentation sites and not part of the llmstxt.org spec, that holds the full text of your key pages in one file instead of links to them, so a model needs no further fetches. It suits stable technical documentation. For most sites it is a maintenance trap: it duplicates content you already publish and goes stale the moment you edit a page, and a confidently wrong copy of your pricing is worse than no file at all. Start with llms.txt.
Free, and what the paid tier adds
This generator is free with no account and no card, a free plan rather than a trial, alongside 77 other free tools that do not expire. Pro at $49 a month adds the Prompt Observatory: a fixed set of buyer prompts for your category, re-asked every week against Perplexity and Claude, with a record of which brands were named. That is the measurement llms.txt cannot give you, because it tells you what the engines actually say about your category rather than what you asked them to read.
Frequently asked questions
What is an llms.txt file?
llms.txt is a plain-text Markdown file served at the root of your domain, at yourdomain.com/llms.txt. It gives a large language model a short description of what your site is and a curated, linked list of the pages you want it to read, so the model is not left to infer your site from whatever it happens to crawl. It was proposed by Jeremy Howard in 2024 and the format is published at llmstxt.org.
Where does the llms.txt file go?
At the root of your domain, reachable at yourdomain.com/llms.txt, which is the same place robots.txt lives. It must be served as plain text. A file sitting in a subfolder or returning HTML does not count.
Does llms.txt actually work?
No major AI platform documents reading llms.txt, and Google’s Search Central documentation says plainly that Google Search ignores them. Treat it as unproven. What it does do today is give you one accurate, machine-readable description of your own site that you control, which is useful to hand to any AI tool and costs very little to maintain.
Is llms.txt a ranking factor?
No. Nothing published by Google, OpenAI, Anthropic or Perplexity treats llms.txt as an input to ranking or citation. Anyone selling it as a ranking factor is ahead of the evidence. Structured data, crawlability and clear answer-first content are the parts of AI visibility with actual support behind them.
What is the difference between llms.txt and robots.txt?
robots.txt tells crawlers what they may not fetch. llms.txt suggests what is worth reading and what it means. One is a fence, the other is a guide. They do not replace each other, and llms.txt grants no permission: a crawler blocked in robots.txt stays blocked.
What is llms-full.txt?
A companion convention, started by Mintlify and Anthropic for documentation sites and not part of the llmstxt.org spec, that holds the full text of your key pages in one file, rather than links to them. It saves a model the fetches, but it duplicates your content and goes stale the moment you edit a page. Start with llms.txt and only add llms-full.txt if your documentation is stable.
How do I add llms.txt to a WordPress site?
On a self-hosted install, uploading the file to the web root works: WordPress’s default rewrite rules serve existing files before WordPress runs. On managed hosts the picture varies: WordPress.com only offers SFTP on Business and Commerce plans, and some hosts’ static-file rules 404 a plugin’s virtual /llms.txt, so the reliable options are an uploaded static file where you have root access, a small plugin or snippet that answers the /llms.txt request directly with plain text, or a server rule that serves the static file before WordPress sees the request. Check the result with a plain-text fetch, not just a browser view.
How often should I update llms.txt?
When the structure of your site changes, not on a schedule. A stale llms.txt that links to pages which have moved is worse than none, because every link in it is a claim about your own site that you are inviting a model to trust.
Does llms.txt stop AI companies training on my content?
No. It is a guide, not a permission system, and it carries no legal weight. Controlling AI crawler access is a robots.txt job, with per-bot rules for GPTBot, ClaudeBot, PerplexityBot, Google-Extended and the rest. The AI crawler access checker shows which of them your current file lets in.
How do I check my llms.txt is valid?
Fetch yourdomain.com/llms.txt and confirm it returns plain text, not an HTML page or a 404. Then check the shape: one H1 with your site name, a blockquote summary, and H2 sections of linked bullets with a short description after each link. The free llms.txt checker does both against any domain.