llms.txt: what it is, who reads it, and how to write one

Kane Vu

Short answer

llms.txt is a Markdown file at the root of a website (yourdomain.com/llms.txt) that names the site, sums it up in one line and links its most useful pages, for large language models to read. Jeremy Howard proposed it on September 3, 2024. It is cheap to add, but none of the big AI assistants has said it reads the file, so it is a small extra on top of the basics, not a replacement for them.

What is llms.txt?

llms.txt is a plain text file written in Markdown that sits at the root of a website, at the address yourdomain.com/llms.txt. It tells a large language model, in a few lines, what the site is and which pages are worth reading. The idea was published by Jeremy Howard, co-founder of Answer.AI, on llmstxt.org on September 3, 2024.

The problem it tries to solve is real. A web page is built for people and browsers: menus, cookie banners, scripts, footers and ads wrap the few paragraphs that matter. A language model reading that page has to dig the text out, and it can only hold so much at once. A short Markdown file that says “here is who we are, and here are the ten pages that explain it” is far easier to use than a crawl of the whole site.

The proposal has a second, smaller part: pages that hold useful information can also offer a clean Markdown copy at the same address with .md added (so /pricing.html gets /pricing.html.md). Few business websites do this, and for most of them the llms.txt file alone is the part worth doing.

Think of it as a reading list with a cover note. It does not change what bots are allowed to read, it does not replace a sitemap, and it is not a ranking signal anywhere that has said so in public.

What goes in the file

The format is deliberately simple. The proposal on llmstxt.org lists the parts in a fixed order, and only the first one is required.

PartRequiredWhat to write
An H1 line (# Name)YesThe name of the business or site, written exactly as it appears everywhere else
A blockquote (> summary)No, but expectedOne or two sentences: who you are, what you sell, where and for whom
Free text and listsNoAny facts a model needs to read the links that follow: service area, opening hours, how to buy
Sections with an H2 headingNoLists of links, one per line, in the form [Page name](url): one sentence on what the page holds
A section named “Optional”NoLinks a reader can skip when short on room: older posts, background pages

That is the whole specification. There is no required length, no list of allowed headings, and no metadata to declare. The file must be served as plain text at /llms.txt, at the root of the domain, not in a subfolder.

Do ChatGPT, Gemini, Claude and Perplexity read llms.txt?

This is the question that matters, and the honest answer is that nobody has shown they do.

  • OpenAI documents its crawlers (GPTBot, OAI-SearchBot, ChatGPT-User) and how robots.txt controls them. Its bot documentation does not mention llms.txt.
  • Google says on its page about AI features in Search that you “don’t need to create new machine readable files, AI text files, or markup” to appear in AI Overviews or AI Mode, and its guide of May 2026 adds that such a file will “neither harm nor help” a site there, “as Google Search ignores them”. Our guide to AI Overviews lists what else Google says to ignore. Google’s John Mueller wrote in June 2025 that no AI system currently uses llms.txt, and compared it to the old keywords meta tag.
  • Anthropic documents ClaudeBot, Claude-SearchBot and Claude-User and how each one obeys robots.txt. Its crawler page does not mention llms.txt, although Anthropic publishes one for its own developer documentation.
  • Perplexity documents PerplexityBot and Perplexity-User. Its bot page does not mention llms.txt either.

Where the file is clearly used is documentation for developers. Anthropic, Stripe, Cloudflare and Vercel all publish one (each answered at /llms.txt on its documentation or main site when checked on November 3, 2026). The use there is concrete: a developer gives the file to a coding assistant, or an agent is told where it is, and the assistant gets a clean map of the documentation instead of a pile of HTML.

So the file is read when someone points a model at it. Whether any assistant fetches it on its own while answering a buyer’s question is not documented by any of the four companies, and a guide that tells you otherwise is guessing.

A library card catalogue drawer pulled out, full of upright cards

Why add a file nobody has promised to read?

Because it is cheap and the work behind it is useful anyway. Three reasons hold up.

Writing it forces the summary you need everywhere. The blockquote is one or two sentences that say who you are, what you sell and where. That same sentence belongs at the top of your home page, in the description field of your Organization schema and on your profiles elsewhere. Many businesses discover, while writing llms.txt, that they have never written it down in one place, and that their site describes them three different ways.

Choosing the links forces you to choose your main pages. If you cannot name the ten pages a stranger should read to understand your business, an AI reading your site cannot either. The list often shows that a main service has no page of its own, or that the pricing page is three clicks deep.

It costs nothing to be ready. If an assistant starts reading the file next year, a site that already has an accurate one gains from it at once. The cost today is an hour of writing and a file of a few kilobytes.

What it should not do is take time away from the things the AI companies do document: letting their search bots in, putting your text in the HTML, and stating your details in structured data. Those are covered in how AI assistants find and pick pages. Do them first. Treat llms.txt as the last ten percent.

How to write llms.txt for a business website

Here is a complete file for an invented plumbing business, line by line. The business, the town and every detail are illustrative. The links are shortened to paths so they fit on the page; write full addresses (https and the domain) in your own file, because the file is often read on its own, away from your site.

Line in the fileWhat it does
# Northgate PlumbingThe H1: the business name, exactly as on your signs, invoices and profiles
> Licensed plumbers serving Dayton, Ohio and towns within 25 miles since 2009. Repairs, water heaters, drain cleaning and remodels for homes and small businesses.The summary: who, what, where, for whom, in two sentences
Open Monday to Saturday, 7 am to 7 pm. Emergency calls 24 hours. Prices are fixed per job and quoted before work starts.Facts a model needs to answer common questions
## ServicesAn H2 that opens a list of links
- [Water heater repair and replacement](/water-heaters): tank and tankless, same-day in most casesOne page, one sentence on what it holds
- [Drain cleaning](/drain-cleaning): kitchen, bathroom and main sewer lines, camera inspectionSame pattern for each main service
- [Prices](/prices): fixed prices for the 20 most common jobsThe page buyers ask about most
## AboutA second list
- [About us](/about): licenses, insurance, the team, service area mapWho stands behind the business
- [Contact](/contact): phone, email, address, hoursHow to reach you
## OptionalLinks a model can skip
- [Blog](/blog): guides on maintenance and costsBackground reading

A few rules make the difference between a useful file and a list of links.

  • Write facts, not slogans. “Licensed plumbers serving Dayton since 2009” can be quoted. “Your trusted partner for all your plumbing needs” says nothing a model can use.
  • One sentence per link that says what is on the page, not what you would like the reader to feel. Name the services, the places and the numbers that are on that page.
  • Keep it short. For a business site, 15 to 40 lines is plenty. The point is to choose; a file that lists every page has not chosen anything.
  • Match the site exactly. The name, the address, the hours and the prices in the file must be the ones on your pages. A model that finds two versions of a fact trusts neither.

Where to put the file on WordPress, Shopify, Wix, Squarespace and Webflow

The file must answer at yourdomain.com/llms.txt as plain text. How you get it there depends on the platform.

  • WordPress: Yoast SEO creates an llms.txt file when you turn the feature on in its site features, and Rank Math has a generator too. Without either plugin, upload the file to the root folder of the site through your host’s file manager.
  • Shopify: you cannot upload a file to the root of the domain. Open yourstore.com/llms.txt to see whether your store already serves one. If it does not, skip this item: it is the least important part of being readable by AI.
  • Wix: Wix writes an llms.txt for sites itself (see “Understanding Your Site’s llms.txt File” in the Wix Help Center). Editing it by hand stops Wix from keeping it updated.
  • Squarespace (version 7.1): SEO/AI Visibility, then SEO Settings, then the LLMS.txt tab: paste the text and save.
  • Webflow: Site settings, SEO, then the LLMs.txt tab: upload the file (UTF-8, under 100 KB) and publish.
  • Custom sites: put a file named llms.txt in the folder your web server serves as the root, and check that it is sent as text, not as a download or an HTML page.

After publishing, open the address in a browser. You should see your text, not a 404 page, not your home page and not a login screen.

A fanned stack of blank ruled index cards on a wooden desk

Mistakes that make the file useless

Most problems with llms.txt are not in the format. They are in what the file says and in what stands around it.

  • Links to pages bots cannot read. If robots.txt blocks a folder, or a firewall answers bots with a challenge page, listing those pages in llms.txt does nothing. The file is a map; it does not open doors.
  • Facts that contradict the site. An old phone number, last year’s prices, a service you stopped offering. A file written once and never opened again goes stale faster than any other page, because nobody sees it.
  • A copy of the whole site. Some sites publish a second file, llms-full.txt, with the full text of every page. It is not part of the proposal on llmstxt.org; documentation sites use it so a developer can load a whole manual at once. For a business site, a short llms.txt with good links is the useful part.
  • Using it to keep AI out. llms.txt grants nothing and forbids nothing. If you want to stop AI companies from training on your content, that is done in robots.txt, with groups for GPTBot, ClaudeBot and Google-Extended.
  • Expecting it to fix the rest. A site whose text is loaded by JavaScript, or whose AI search bots are blocked, stays unreadable with or without llms.txt.

llms.txt, robots.txt and sitemap.xml: which does what

The three files sit side by side at the root of a site and are often confused. They do different jobs.

robots.txtsitemap.xmlllms.txt
What it saysWhich bots may read which pathsEvery page you want found, with datesWho you are and which pages matter most
Who reads itEvery major crawler, including the AI search botsSearch enginesLanguage models, when pointed at it
FormatA standard (RFC 9309)XML, a standardMarkdown, a proposal from 2024
Effect if missingEvery bot may read everythingPages are found through links onlyNothing documented
Effect if wrongCan hide the whole site from AI searchPages found late or not at allA model may read outdated facts

If you have an hour, spend it in this order: robots.txt first, because a wrong line there can hide everything; then the sitemap; then llms.txt.

What the MWY checker does with llms.txt

The free AI visibility checker from MWY looks for /llms.txt at the root of your site, as one of 24 items. It carries the lowest weight of the 24, for the reason given in this guide: none of the four big assistants has said it reads the file. If your robots.txt does not let the checker’s bot (MWYGeoCheck) read /llms.txt, the item is not scored rather than marked as missing. The methodology page lists every item and its weight.

The checker tests whether the file is there. It does not grade what the file says, and it cannot tell you whether any assistant has read it, because no assistant reports that.

The Pro report gives you a first draft: an llms.txt filled in with your business name, the description your site already states and the main pages the scan read, each with its own description, ready to correct and upload. The steps for your platform come with it. To see how little this item moves the total, read what an AI visibility score measures.

What the checker does not do is promise that an AI will name your business because a file exists. Nobody controls what an assistant answers. What can be checked is whether your site gives the assistants everything they need to read it, and llms.txt is the smallest part of that.

Questions people ask

Is llms.txt a ranking factor in Google?

No. Google says you do not need any new machine-readable or AI text file to appear in AI Overviews or AI Mode, and Google’s John Mueller wrote in 2025 that no AI system currently uses llms.txt. Pages appear in Google AI features the same way they appear in Search: indexed, readable, and eligible for a snippet.

What is the difference between llms.txt and llms-full.txt?

llms.txt is the short file from the llmstxt.org proposal: a name, a summary and links to the main pages. llms-full.txt is a convention some documentation sites added, holding the full text of every page in one file. It is not in the proposal. For a business website, the short file with good links is enough.

Can llms.txt stop AI companies from using my content?

No. llms.txt is a reading list, not an access rule: it allows nothing and forbids nothing. To keep AI companies from training on your pages, add groups for GPTBot, ClaudeBot and Google-Extended to robots.txt. Blocking their search bots as well would also keep your pages out of AI search answers.

How long should an llms.txt file be?

The proposal sets no limit. For a business website, 15 to 40 lines is plenty: the name, a two-sentence summary, a few facts such as hours and service area, and links to the 10 to 20 pages that explain the business. Webflow accepts uploads under 100 KB, far more than a business needs.

Do I need to update llms.txt when my site changes?

Yes. Update it whenever a service, a price, the address, the hours or a main page changes. A file that contradicts the pages it links to does more harm than having no file, because a model that finds two versions of a fact cannot tell which one is current.

More guides

Is your website ready for AI assistants to name it?

Paste your website address and get your AI visibility score and the five things to fix first in a few seconds. Free, no sign-up.