Skip to content

llms.txt explained: what it is, how to write one, and what it will (and won't) do

By the Growli teamUpdated 7 min read

Short answer

llms.txt is a plain Markdown file at yoursite.com/llms.txt that gives AI tools a short summary of your site and a curated list of links to your most useful pages. Jeremy Howard proposed it in 2024. It is not an official standard, Google Search ignores it, and no major AI company has said its crawler reads it.

Step by step

  1. Step 1: Create a plain text file named llms.txt

    Use any text editor. Save it as plain text, not a Word document.

  2. Step 2: Start with your name and a one-line summary

    First line: "# Your business name". Next line: "> " followed by one sentence on what you do, for whom and where.

  3. Step 3: List your most important pages

    Add a heading such as "## Key pages", then one line per page: "- Pricing: what visitors find there".

  4. Step 4: Upload it to the root of your site

    It must open at yourdomain.com/llms.txt. Use your hosting file manager, or a plugin or app if your platform does not let you upload files to the root.

  5. Step 5: Open the address to check it

    You should see your plain text in the browser, not an error page.

    See the llms.txt format

What is llms.txt?

llms.txt is a proposal for a small text file that tells large language models (LLMs, the systems behind ChatGPT, Claude, Gemini and similar tools) what your website is about and where the important content lives. It is written in Markdown, the simple formatting language that uses # for headings and text for links.

The idea was published by Jeremy Howard, co-founder of Answer.AI, in September 2024. The specification lives at llmstxt.org. The problem it tries to solve is real: a normal web page is full of menus, scripts, cookie banners and ads, and an AI tool working with a limited context window has to dig the useful text out of all that.

An llms.txt file skips the noise. It is a hand-picked table of contents, written for machines but readable by people, that points straight to the pages you would want an assistant to read first.

What does the llms.txt format look like?

The format is deliberately small. The file is Markdown with a fixed order of parts, and only the first one is required:

  1. An H1 heading with the name of your site or business. This is the only required element.
  2. A blockquote (a line starting with >) holding a one or two sentence summary of what you do.
  3. Optional free text: ordinary paragraphs or bullet points with extra context, such as who you serve or how to read the rest of the file. No headings in this part.
  4. Sections that start with an H2 heading (##), each holding a Markdown list of links. Every entry is Page name, optionally followed by a colon and a short note.
  5. A section called Optional, by convention. Links listed there are secondary, and a tool that is short on space can skip them.

The proposal also suggests a companion idea: offering a clean Markdown copy of important pages at the same address with .md added. For example, /services.html would also be available as /services.html.md, and a URL without a file name would use index.html.md. This is optional and more common on documentation sites than on small business sites.

A copy-paste llms.txt example for a small business

Here is a complete file for a made-up plumbing company. Replace the names, summary and links with your own. Keep every link pointing at a real, public page that returns a normal 200 response.

llms.txt
# Northside Plumbing

> Northside Plumbing is a family-run plumbing company in Leeds, UK, offering emergency repairs, boiler installation and bathroom fitting for homes and small businesses.

We cover Leeds and towns within 20 miles. Prices on the linked pages include VAT. Emergency call-outs are available 24 hours a day.

## Services

- [Emergency plumbing](https://www.northsideplumbing.example/emergency): 24-hour call-outs, typical response times and call-out fees
- [Boiler installation](https://www.northsideplumbing.example/boilers): brands we fit, warranty terms and how quotes work
- [Bathroom fitting](https://www.northsideplumbing.example/bathrooms): full refits, timelines and example projects

## About and contact

- [About us](https://www.northsideplumbing.example/about): history, team and qualifications
- [Service area](https://www.northsideplumbing.example/areas): towns and postcodes we cover
- [Contact](https://www.northsideplumbing.example/contact): phone, email, opening hours and address

## Optional

- [Blog](https://www.northsideplumbing.example/blog): seasonal maintenance tips
- [Careers](https://www.northsideplumbing.example/careers): current vacancies

A few writing rules make the file more useful:

  • Write the summary as facts, not slogans. Say what you do, for whom and where.
  • List the pages that answer real customer questions: services, prices, service area, contact details, returns or warranty terms.
  • Keep the notes after each link short and specific so a tool can decide whether the page is worth opening.
  • Leave out login pages, cart pages, tag archives and anything you have set to noindex.

Put the same facts in the file that appear on your website. If your llms.txt says you cover 20 miles and your service area page says 15, you have created a contradiction for any tool that reads both.

Where do you put llms.txt?

The file goes in the root of your domain so it loads at https://www.yoursite.com/llms.txt, the same place robots.txt lives. The current version of the proposal also allows a file inside a subfolder (for example /docs/llms.txt) that covers only the pages under that path.

How you upload it depends on your platform. On a self-hosted site or one with FTP access, you place the file in the public root folder. Some WordPress SEO plugins can now generate one for you. Hosted builders such as Shopify and Wix limit what you can put at the root, so check your platform's current documentation or app store before assuming it is possible.

After uploading, open the URL in a private browser window. It should show plain text, not your 404 page or a login screen. Serve it as text (text/plain or text/markdown) and make sure your firewall or bot protection is not blocking automated requests to it.

How is llms.txt different from robots.txt and sitemap.xml?

The three files sit next to each other but do different jobs. robots.txt sets crawl rules. sitemap.xml lists URLs for discovery. llms.txt describes and curates content for reading.

  • Main job
    robots.txt
    Tells crawlers which paths they may fetch
    sitemap.xml
    Lists the URLs you want discovered and indexed
    llms.txt
    Summarises the site and points to the best pages for AI tools
  • Format
    robots.txt
    Plain text directives (User-agent, Disallow, Allow)
    sitemap.xml
    XML
    llms.txt
    Markdown
  • Status
    robots.txt
    Internet standard (RFC 9309)
    sitemap.xml
    Widely supported protocol (sitemaps.org)
    llms.txt
    Community proposal
  • Who reads it
    robots.txt
    Googlebot, Bingbot, GPTBot, ClaudeBot and most legitimate crawlers
    sitemap.xml
    Google, Bing and other search engines
    llms.txt
    No major AI company has documented reading it
  • Controls access?
    robots.txt
    Yes, for crawlers that respect it
    sitemap.xml
    No
    llms.txt
    No
  • Typical size
    robots.txt
    A few lines
    sitemap.xml
    Every indexable URL
    llms.txt
    A short, hand-picked list

The key point is that llms.txt does not grant or block access. If you want to allow or refuse specific AI crawlers, that happens in robots.txt and in your firewall settings. Our guide to robots.txt for AI crawlers covers the user agents and rules.

Does llms.txt actually help? An honest look at adoption

This is where expectations need to be set carefully. llms.txt is a proposed convention, not a standard backed by any search engine or AI company, and the public evidence that crawlers use it is thin.

Google is the clearest. Its guide to optimizing for generative AI features says you do not need to create machine readable files, AI text files or Markdown to appear in Google Search or its AI features, because Google Search does not use them. In June 2026 Google added that keeping an llms.txt file for other services is fine, and that it will neither harm nor help your visibility or rankings in Google Search.

As of October 2026, the public crawler documentation from OpenAI, Anthropic and Perplexity describes their bots and how to control them with robots.txt, but none of those pages says the bots read llms.txt. Several AI and developer tool companies publish an llms.txt for their own documentation, which is a different thing: it helps coding assistants that a developer points at the file, not a search crawler visiting your site. This can change, so check the official pages rather than relying on blog claims.

So treat llms.txt as cheap, low-risk groundwork. It takes under an hour, costs nothing, cannot hurt your Google rankings, and may become useful if more tools adopt it. It is not a ranking lever, and it will not make ChatGPT or any other assistant recommend you.

What to do first if you want AI tools to understand your site

The things that demonstrably matter are less exciting than a new file. AI tools that fetch your pages need to be allowed in, need to see real text in the HTML, and need clear facts about your business. In practical order:

  1. Make sure robots.txt and your CDN or firewall do not block the crawlers you want, such as OAI-SearchBot or PerplexityBot.
  2. Check that your main content is in the server HTML and not only rendered by JavaScript. See JavaScript SEO for AI crawlers.
  3. Write pages that answer the questions customers actually ask, with prices, locations and specifics.
  4. Add accurate structured data for your business, covered in our schema markup guide.
  5. Then add llms.txt as a tidy summary on top.

If you are not sure where your site stands, you can run a free Growli audit. It reads your site the way Google and AI crawlers do, checks AI crawler access (including firewall blocks), JavaScript-only content and whether an llms.txt file exists, and gives step-by-step fixes for WordPress, Shopify, Wix and other platforms.

Frequently asked questions

Is llms.txt required for ChatGPT or Google AI Overviews?

No. Google states that Google Search, including AI Overviews and AI Mode, does not use llms.txt, and OpenAI's crawler documentation does not mention it. You can appear in AI answers without one.

Can llms.txt hurt my SEO?

Not in Google Search, which has said the file is ignored and will neither harm nor help rankings. The only real risk is publishing outdated or wrong facts in it, so update it when your services, prices or contact details change.

What is llms-full.txt?

It is a related convention, popular on documentation sites, where the full text of the site is bundled into one large Markdown file. It is not part of the core proposal's required format, and for a typical small business site a short llms.txt is enough.

Can I use llms.txt to stop AI companies using my content?

No. llms.txt has no access rules at all. To refuse specific AI crawlers, add rules for their user agents in robots.txt and, if needed, block them at your firewall or CDN.

How often should I update llms.txt?

Update it whenever you add, remove or rename an important page, or when key facts change. A quick review every few months is a sensible habit, and every link in the file should still load.