llms.txt is a plain Markdown file at the root of your website that tells AI systems what your site is, what you do, and which pages matter. Jeremy Howard of Answer.AI proposed it in September 2024 as a fix for a real problem: language models work with limited context windows, and your navigation, scripts, and boilerplate waste most of what a model can hold. The honest status in 2026 is that adoption sits near one site in ten among the large crawls, Google has said outright that Search does not use the file, and no major AI vendor has committed its answer engines to reading it. This post covers both halves of that title: what the spec actually says, and a complete walkthrough for creating the file for your own website, including the one egochi.com ships.
The short version
- A curated Markdown index at /llms.txt, which is an introduction for machines, not an access rule.
- Google confirmed in 2025 it does not use the file, and no major answer engine has confirmed reading it.
- Adoption in large 2026 crawls sits near one site in ten; coding agents and docs tools are the real readers.
- Creating one takes about an hour: entity summary, 5 to 15 annotated links, a facts section, plain text at the root.
- Worth shipping anyway, since the cost is an hour and the downside is zero.
What llms.txt actually is
The spec is short enough to summarize in a breath. One H1 with your site or business name. A blockquote holding a plain-language summary of what you are. Then H2 sections, each a list of links with one line of context per link. Markdown was chosen deliberately: models parse it natively, it survives being read as plain text, and a human can proofread it without tooling. The proposal also reserves one special section name, Optional, for links a model may skip when its context budget runs short. Everything else about the format is convention rather than rule, which is part of why write-ups disagree on details. The spec lives at llmstxt.org if you want the source.
The file reads like a well-kept README for your company, and that is the point. A model that fetches your homepage gets menus, cookie banners, scripts, and markup around a thin layer of actual information. A model that fetches llms.txt gets the essentials in a few hundred tokens: who you are, what you sell, where the proof lives.
The same proposal defines a companion, llms-full.txt, which inlines the complete text of your key pages into one large Markdown document so a model can load everything in a single fetch. Documentation platforms use it heavily because a coding assistant can swallow an entire product manual at once. A service business rarely needs the companion; the index file is the one worth your hour.
What it is not
Three root files now get mixed together in AI conversations, and they do three different jobs. robots.txt is access control: it tells crawlers what they may not fetch, and it is the file that actually decides whether AI systems can read your site at all. The XML sitemap is enumeration: every URL you want indexed, no commentary. llms.txt is curation: a shortlist with explanations. It grants nothing, blocks nothing, and enforces nothing. If your goal is to keep a bot out, llms.txt is the wrong file entirely, and if your goal is to get every page discovered, the sitemap already does that job.
Who actually reads llms.txt in 2026
Here is the part most write-ups soften, and the part this post will not. Google went on record in July 2025: Search does not use llms.txt and there are no plans to start, and John Mueller compared the idea to the keywords meta tag, a signal search engines abandoned because site owners could write anything into it. OpenAI, Anthropic, and Perplexity have published nothing committing their answer engines to the file, and independent tests keep failing to show a citation lift from adding one. Vendor articles claiming confirmed answer-engine support are ahead of any evidence their own links contain. Adoption reflects that limbo: the large crawls published in 2026 find roughly one site in ten shipping the file, concentrated in AI-native software companies and documentation platforms, some of which now generate it automatically.
The file is not dead weight, though. It found a different audience than the one it was proposed for. Coding agents and IDE assistants fetch llms.txt routinely when a user points them at a site, documentation tools use it to feed whole doc sets into a model cleanly, and several docs platforms emit it by default for every project they host. So the honest framing is a cheap bet on a spec that already works in the agent layer and may graduate to the answer layer. If your interest is the answer layer itself, our post on GEO vs SEO covers the work that moves citations today.
Our position, and why Egochi ships the file anyway: the cost is an hour, the risk is zero, and the exercise forces you to write the one paragraph every business needs and few have, a plain-language definition of what you are that a machine could repeat to a customer without embarrassing you. Even if no answer engine ever reads the file, that paragraph belongs on your homepage, in your schema, and in your profiles. The file is the cheapest place to draft it.
How to create llms.txt for your website
The walkthrough below produces a finished file in about an hour. It assumes nothing beyond a text editor and access to wherever your site serves static files.
-
Gather the facts before you write a line
Collect the raw material: legal business name, one-sentence category definition, who you serve, locations, founding year, published pricing, review counts you can prove, and contact details. Every item should already be public on your site. The file must never claim anything your pages do not.
-
Write the H1 and the blockquote summary
The H1 is your business name, nothing else. The blockquote under it is the highest-value text in the file: two to four sentences stating what you are, who you serve, where you operate, and how to reach you. Write it the way you would brief a new employee, because a model will repeat this back to users verbatim.
-
Pick 5 to 15 pages that carry your case
Your service catalog, your methodology, your proof pages, your pricing if it is public, your contact page. Resist the sitemap dump; the whole point is curation under a tight context budget, and a hundred links is the same as none. Blog archives and tag pages never belong here.
-
Give every link a reason to exist
Format each entry as a Markdown link followed by a colon and one line of context: what the page is and when it is the right answer. The note is what separates an introduction from an index. A bare URL tells a model nothing it could not get from your sitemap.
-
Add a facts section machines can quote
A short H2 section of bullet-point facts: founding year, office locations, price range, team size if you publish it. Plain declarative lines are the easiest text in the file for a model to lift accurately, and accuracy is the entire objective.
-
Save it as llms.txt and serve it from the root
The file must resolve at yourdomain.com/llms.txt with a 200 status, served as plain text. On a static build, drop it in the folder your framework publishes verbatim, public/ for most. On WordPress, several SEO plugins now generate and serve one, or upload the file to the site root over SFTP. Docs platforms like Mintlify emit it automatically.
-
Test it the way a machine would fetch it
Two checks cover it: confirm the URL returns 200 with a text content type, and read the served output to confirm nothing rewrote or wrapped it. Then paste the URL into an AI assistant and ask it to describe your business from the file alone. If the answer misstates anything, the file needs editing, because you just previewed exactly what a machine will say.
-
Generate it, do not hand-maintain it
Stale facts in a file built for machines are worse than no file. Wire it to the same data that feeds your schema, so an address or price change updates both in one edit. If your stack cannot do that, put a quarterly reminder on the calendar and treat the file like any other listing you keep accurate.
What a finished file looks like
Egochi ships one at egochi.com/llms.txt, generated from the same entity data as our Organization schema so the two can never disagree. A trimmed version of the shape, which you can adapt line for line.
# Egochi
> Egochi is a US digital marketing agency serving local businesses
> through corporate and enterprise clients. Services: SEO, PPC and
> paid media, web design, social media, AI search visibility.
> Four offices: New York City (HQ), Miami, Milwaukee, Madison.
> Founded 2014. Plans from $1,500 to $15,000 monthly.
## Key pages
- [Digital marketing services](https://egochi.com/digital-marketing-services/): full service catalog
- [Case studies](https://egochi.com/case-studies/): named client engagements with documented outcomes
- [Contact](https://egochi.com/contact/): free proposal and audits
## Facts
- Founded: 2014
- Offices: New York City (HQ), Miami, Milwaukee, Madison Notice what is missing: no keyword copy, no superlatives, no claims we could not defend line by line. The file exists so machines describe us accurately, and machines quote what you give them. Anything promotional you sneak in becomes the thing a model repeats with visible skepticism or, worse, repeats straight and costs you trust when a customer checks.
The mistakes that defeat the file
- Writing it like an ad. Superlatives and slogans read as noise to a model and as spam to anyone auditing the file. Declarative facts only.
- Dumping every URL. A file that lists 400 pages has curated nothing. Five strong links beat fifty weak ones under a context budget.
- Letting it rot. An old price or a closed office in llms.txt actively feeds machines wrong answers about you. Generated beats hand-edited.
- Confusing it with access control. Putting block-style directives in llms.txt does nothing; crawler permissions live in robots.txt and nowhere else.
- Claiming what your pages do not. Models cross-check. A fact that appears only in llms.txt and nowhere visible on the site is a fact a machine has every reason to doubt.
Where it fits in an AI visibility program
llms.txt is one small deliverable inside the entity-and-access layer of AI search work, next to schema that matches the visible page, deliberate AI-crawler rules, and consistent business data across every source machines check. That layer is where our generative engine optimization services start every engagement, because content built on a confused entity gets hedged answers no matter how good the writing is. Ship the file, keep it truthful, and spend the rest of your effort on the work with confirmed payoff: crawlable pages, answer-shaped passages, and a record about your brand that reads the same everywhere a machine looks.
Questions people ask about llms.txt
Is llms.txt the same as robots.txt?
No, and the confusion is the most common mistake with it. robots.txt gates access: it tells crawlers what they may not fetch. llms.txt curates: it hands AI systems a short, readable summary of what your site is and where the pages that matter live. One restricts, the other introduces.
Does Google or OpenAI use llms.txt?
No. Google said in July 2025 that Search does not use the file and has no plans to, and OpenAI has never confirmed consuming it. As of 2026 no major AI answer engine has committed to reading llms.txt. The confirmed readers today are coding agents, IDE assistants, and documentation tools.
Will llms.txt help my rankings?
Not your Google rankings; it is not a ranking signal and nobody serious claims otherwise. The case for it is different: it costs about an hour, it cannot hurt, and if answer engines formalize support you are already in position. Treat it like early schema adoption, not a tactic.
What is llms-full.txt?
A companion file from the same proposal. Where llms.txt is a curated index of links with short notes, llms-full.txt inlines the full text of your key pages into one large Markdown document, so a model can load everything in a single fetch. Documentation sites use it most; a service business rarely needs it.
Where does the file go and what format is it?
At the root of your domain, so yoursite.com/llms.txt, served as plain text. It is written in Markdown: one H1 with the site name, a blockquote summary, then H2 sections listing links with a line of context each. No directives, no user-agent blocks, nothing executable.
How often should I update llms.txt?
Whenever a fact in it changes: an address, a price, a service, a key page URL. A stale file is worse than none, because machines quote what you give them. The safest setup generates the file from the same data that feeds your schema, so one edit updates both.