How to Generate a Correct llms.txt

An llms.txt generator can produce a file that fails the spec. Here is the one required line, the mistakes auto-generators make, and how to build a correct one.

The short answer

A correct llms.txt file needs exactly one required element, an H1 heading with the site's name; every generator tool that dumps a full sitemap of links instead of a short, hand-checked list is producing a file that is technically valid but defeats the format's actual purpose.

Typing "llms.txt generator" into a search bar suggests the missing piece is a tool. It usually is not. The file format is small enough to write by hand in fifteen minutes, and most of what generator tools produce needs to be cut down, not filled in. Here is what actually makes an llms.txt file correct, and where automated generation typically goes wrong.

The one rule that matters: what "required" actually means

The specification at llmstxt.org defines the file as a markdown document with a strict section order: an optional byte-order mark, then an H1 heading, then an optional blockquote summary, then optional markdown content, then optional H2-headed sections of links. Only one of those is required: the H1 heading with the name of the project or site.

That means a file containing nothing but # Yabado is technically valid. It is also useless. "Valid" and "correct" are different questions here. Valid means it parses. Correct means a model reading it actually gets something worth the tokens: a short summary of what the site is, and a curated set of links to the pages worth reading, each with enough of a description that a model can decide whether to fetch it.

A correct file, at minimum, looks like this:

# Yabado

> Yabado runs generative engine optimization (GEO) audits and services, helping
> brands understand and improve how they are cited by ChatGPT, Perplexity, and
> Google AI Overviews.

## Docs

- [GEO Audit](https://yabado.ai/geo-audit): what a GEO audit measures and how to read the results.
- [GEO Services](https://yabado.ai/geo-services): ongoing GEO work, explained.

Every list entry under an H2 follows the same syntax: a markdown hyperlink [name](url), optionally followed by a colon and a short note. That is the entire format. There is no field for keywords, no priority score, nothing that resembles the metadata SEOs are used to filling in.

Why generator tools tend to produce the wrong file

Search results for "llms.txt generator" turn up three kinds of tools: web pages where you paste a URL and get a file back, CMS plugins that generate one automatically, and open-source crawlers you run yourself. All three share the same failure mode: they are built to be thorough, and thoroughness is the wrong goal here.

A tool that crawls your sitemap and lists every URL it finds will include your tag archives, your privacy policy, paginated category pages, and anything else your sitemap contains. That produces a file that is long, unfiltered, and no longer does the one job llms.txt is supposed to do, which is hand a model a short, curated index instead of making it guess. A generator that cannot tell your five best pages from your two hundred least important ones is not saving you work. It is handing you a file you now have to edit down anyway.

This is not a hypothetical concern. Platforms that generate llms.txt as a built-in feature, including Mintlify, GitBook, and Wix, along with WordPress plugins such as Yoast SEO and AIOSEO, do this well specifically because they generate it from structured documentation or page metadata that is already organized, not from a raw crawl. A generic crawl-and-dump tool pointed at a marketing site or blog does not have that structure to work from, which is exactly why its output tends to need the most editing.

The mistakes that make a generated file wrong even when it parses

A file can pass every syntax check and still be a bad llms.txt. The recurring mistakes, in order of how often they show up in generated files:

  • Dumping every page instead of curating. The most common failure. If the file is longer than the site's actual list of pages worth reading first, it has stopped being a curated index and become a second sitemap.
  • Treating it like a permissions file. llms.txt does not block or allow crawler access; robots.txt does that. A generator or a person that adds Disallow-style directives to an llms.txt file is applying the wrong spec to the wrong file.
  • No descriptions on the links. A bare list of [Page](url) entries with nothing after the colon forces the model to fetch every link to find out what it is, which is the exact inefficiency the format exists to remove.
  • Keyword-stuffed link text or descriptions. Nothing in the spec stops anyone from writing a paragraph of keywords into a link description, and some generators do this by design. It does not correspond to anything a model is known to weight, and it makes the file harder for a human to maintain.
  • Letting it go stale. A generated file reflects the site on the day it was generated. If it is not regenerated or hand-updated when pages change, it starts pointing at renamed or removed URLs, which is worse than not having one.
  • Uploading a site's content to an unfamiliar generator tool. Several generator tools ask you to submit your full page list or content for processing. Check what a tool does with that data before using it, the same caution you'd apply to any third-party tool that ingests your site's content.

How to build one by hand in under 20 minutes

For a site smaller than a large documentation platform, hand-writing the file is faster than fixing what a generator produces:

  1. Write the H1 with your site or project name.
  2. Write a one- or two-sentence blockquote summary of what the site does, in plain language, the same sentence you would use to explain the business to someone unfamiliar with it.
  3. List your 5-15 most important pages under H2 sections, grouped by type (docs, product, key articles). Pick pages by asking "if a model could only read a handful of pages on this site, which ones would actually answer someone's question," not "which pages exist."
  4. Add a one-line description after each link. If you cannot write one in under 15 words, that page probably does not belong on the list.
  5. Put the file at your domain root, yoursite.com/llms.txt, as plain text.
  6. Re-check it whenever you add, remove, or rename a page that would have made this list.

That is the whole process. No tool is required to do any of these six steps.

Validating what you wrote

Several free validator tools exist, including options at llms-txt.io, llms-text.com, and similar sites, that check a file's syntax against the spec: correct heading order, valid markdown link formatting, and structural compliance. These are useful for catching a malformed link or a missing H1. They check syntax, not effectiveness. A validator confirming your file is well-formed says nothing about whether any AI engine reads it, uses it, or changes behavior because of it. Those are separate questions, and the honest answer to the second one is still mostly no, covered next.

What generating a correct file actually buys you

It is worth being direct about what correctness here does and does not do, because the search intent behind "llms.txt generator" usually assumes it moves a citation or ranking needle.

On the ranking and citation side, the evidence has not moved. Google's John Mueller has stated plainly: "the short answer is that it's not done for search." In May 2026, Google added a check for the file's presence to Chrome Lighthouse under a new "Agentic Browsing" audit category, but that check evaluates how easily an AI agent can navigate and understand a site's structure, a functionality question, not a search ranking or AI Overview inclusion question. A study that tracked llms.txt adoption across 10 sites in finance, B2B SaaS, ecommerce, insurance, and pet care for 90 days before and after implementation found two sites with AI traffic growth and one with a decline, with the rest flat, and traced both growth cases to other changes made at the same time (new comparison pages, downloadable templates, PR coverage) rather than to the file itself. That sits alongside the earlier finding, covered in full in llms.txt: What It Is and Whether It Does Anything Yet, that a 300,000-domain study found the file's presence added no predictive signal to which sites get cited.

What correctness does buy you is the thing llms.txt was actually designed for: making it faster and cheaper for an AI agent, coding assistant, or crawler that has already decided to read your site to find the pages that matter, instead of parsing full rendered HTML to guess. That is a real, if narrow, benefit, and it only exists if the file is short and curated rather than long and generated in bulk. A file built the generator's way, dumping the whole sitemap, removes that benefit along with everything else.

If you are deciding where to spend the time this would take, an llms.txt file is minor compared to passage-level writing and basic crawler access, which is where the actual evidence points for AI citation. A GEO audit checks both: whether your site has a well-formed llms.txt and, more importantly, whether the pages behind it are structured in a way AI engines actually cite.

Frequently asked

What is the minimum required content for a valid llms.txt file?

Only one element is required by the specification at llmstxt.org: an H1 heading with the name of the project or site. A blockquote summary, descriptive paragraphs, and H2-headed sections of links are all optional, though a file with just an H1 provides almost no value to a model reading it.

Should I use an automatic llms.txt generator or write the file by hand?

For a small site, write it by hand. Automatic generators that crawl your full sitemap tend to produce a long list of every page, including tag archives and legal pages, which defeats the point of a curated file. A generator is more useful for large documentation sites where Mintlify, GitBook, or a similar platform already produces one automatically as part of the platform.

Do llms.txt validator tools check whether AI engines will actually use the file?

No. Validator tools check syntax, meaning whether the file follows the markdown structure the spec defines, not whether any AI engine reads or acts on it. No major AI lab has confirmed that a syntactically valid llms.txt changes citation behavior.

Does Google use llms.txt for search rankings or AI Overviews?

No. Google's John Mueller said directly: "the short answer is that it's not done for search." Chrome Lighthouse added a check for the file's presence under an "Agentic Browsing" audit category in May 2026, but that audit measures how easily an AI agent can navigate a site, not search ranking or AI Overview inclusion.

Is there proof that adding llms.txt increases AI traffic?

The best available test says no. A study that tracked 10 sites across finance, B2B SaaS, ecommerce, insurance, and pet care for 90 days before and after adding the file found two sites saw AI traffic growth and one saw a decline, with the remaining sites flat, and both instances of growth were traced to other changes made at the same time, not the file itself.

More in GEO & AI Search

See how AI describes your brand

A free GEO audit takes about 90 seconds and tells you what ChatGPT, Claude, Perplexity and Gemini actually say about you.

Run a free GEO audit →

Written by YaBaDo's AI agents and reviewed by a human before publishing. If you find something wrong, tell us and we will correct it.