Tool

llms.txt generator: build the file and see whether it holds up

Fill in the site name, the summary and your link list: the tool assembles the llms.txt exactly as the spec describes, audits the result across 10 items worth 100 points and shows you the queue of what is missing. You can paste a whole sitemap.xml and let it draft the first version. Free, no signup, and nothing leaves your browser.

llms.txt generator
File score-

  • - links
  • - sections
  • - size
  • - estimated tokens

Your llms.txt

What the file gets right (and what is missing)

  • H1 with the site name-
  • Blockquote summary-
  • At least one H2 section-
  • All URLs absolute-
  • A description on every link-
  • No repeated URL-
  • Minimum link coverage-
  • Optional section declared-
  • Context paragraph-
  • Fits in a single read-

Everything runs in your browser: neither the fields nor the file leave this page, and no URL is fetched. The score measures format compliance and curation quality, which is what you control. It does not promise citation: no system publishes its real source selection criteria.

This page builds and audits the file. If what you need is whether your site as a whole is ready to be cited by AI, covering crawler access, text format and authorship signals, the right page is the GEO readiness checker, which runs a different 16 item model and treats llms.txt as a single 4 point item among many. The two complete each other: the checker tells you whether it is worth it, this one hands you the file.

How to use it

  1. Fill in name and summary first. The name becomes the H1 and the summary becomes the blockquote right below it. Those two fields carry 30 of the 100 points because they are the part the format requires and the first thing any reader processes.
  2. Set the base domain with no trailing slash. It exists so you can type just the path, like /pricing, and let the tool resolve it into a full URL. A file read away from your site with relative links resolves nowhere.
  3. Write the link list in the big box, one per line, as Title | URL | description. Open a new section with ## Section name. The box also understands markdown, a bare URL and a whole sitemap.xml pasted in, so you can start from whatever you already have.
  4. Read the checklist under the file and fix what is red, top to bottom. Each item shows what it is worth and what you earned.
  5. Copy or download it and publish at yoursite.com/llms.txt, served as plain text. Then open the address in a private window to confirm you get raw markdown rather than a download.

How it works: the format and the 10 weights

llms.txt is markdown with a fixed structure, and the order of the blocks is part of the format. The poverty is on purpose: the less freedom there is, the easier it is for a simple parser to read it without heuristics.

# Site name
> One sentence summary
Free context paragraphs
## Section name
- [Title](https://url): description
## Optional
- [Title](https://url): description

Only the H1 is required by the spec. Everything else is optional on paper and decisive in practice, which is where the score comes in. The audit adds up 10 items that close at exactly 100 points, split between compliance (is this really an llms.txt?) and curation (does it solve anything for whoever reads it?).

score = compliance (44) + curation (56)
compliance = H1 15 + summary 15 + H2 section 14
curation = absolute URL 12 + description per link 12 + no duplicates 8 + coverage 8 + Optional 6 + context 5 + fits one read 5
description per link: 12 × described links ÷ total links
coverage: 8 × clamped(0 to 1 of links ÷ 6)
estimated tokens = characters ÷ 4, and the item drops above 20,000

H1 and summary are worth 15 each because they are what a reader looks for before anything else: without them the file is an orphan list of links. Absolute URL is worth 12 because a relative link simply does not resolve once the file is read away from the site, and it is the most common mistake in hand written files. Description per link is worth 12 and is proportional rather than all or nothing, because half the descriptions written is already worth far more than none.

Worked example (reproduces the default result)

The prefilled values describe a small SaaS with 3 sections and 7 links, 6 of them described: the integrations link was left without its explaining sentence on purpose, so the fix queue does not start out empty. Name, summary and a context paragraph filled in, base domain provided, no repeated URL and the secondary section named Optional in English.

Write the description for the integrations link and the score goes to 100. It is the same arithmetic you repeat with your own links: every line without a sentence costs 12 divided by the number of links, and the price per line rises as the file gets shorter.

How to read it, and where the score misleads

The score measures the file, not the outcome. A perfect llms.txt on a site that AI crawlers cannot read still produces zero citations, because the problem sat two layers earlier. Run the GEO readiness checker before celebrating: if your robots.txt blocks GPTBot, or the content only exists after JavaScript runs, the file is decoration.

The second trap is treating llms.txt as a ranking factor. It is not one, and nobody promised it would be. Adoption today is lopsided: plenty of sites publish, few systems consume automatically. The rational reason to publish is the low cost plus two advantages that do not depend on any search engine changing its mind: people who use AI assistants daily can point at the URL by hand and get your context ready made, and the curation itself forces an internal decision almost nobody has made, which is naming the ten pages that represent the business.

The third is generating the file from the sitemap and stopping there. The tool accepts a pasted sitemap because it is a good starting point, not a good finish line: with no sections and no descriptions the score lands mid band and the file just repeats what the sitemap already said. The valuable work is the cut, not the collection.

Finally, the file ages. It has no lastmod, nobody revalidates it, and a broken link inside it goes unnoticed for months. Put the review on the same cadence as your site navigation review, not your blog cadence.

From file to evidence

Publishing llms.txt is a bet on how third parties treat your site, and an unmeasured bet becomes team folklore. The honest path is short:

To turn the first item of your queue into a testable hypothesis, use the hypothesis generator. To size the experiment before switching anything on, the sample size calculator settles it in a minute.

FAQ

What is an llms.txt file?
It is a markdown file published at the root of your domain, at /llms.txt, that points AI systems to the canonical content of your site. The idea behind it is simple: instead of letting a model guess what matters inside HTML full of navigation, banners and footers, you hand over a curated list of links with one sentence explaining each. The format was proposed in September 2024 by Jeremy Howard, of Answer.AI, and it is deliberately poor: an H1 with the site name, a one line summary as a blockquote, free context paragraphs and sections holding annotated link lists. Nothing beyond that.
Where do I publish llms.txt?
At the root of the domain, served as plain text at https://yoursite.com/llms.txt, the same way robots.txt is. Not in a subfolder, not behind your dashboard, not inside an HTML page. If your site is static, the file goes into the public folder next to robots.txt and the sitemap. On WordPress you either drop it at the root over FTP or use a plugin that serves the path. Once it is live, open the address in a private window: if you see raw markdown, it is right; if the browser downloads a file or shows an error page, the content type on the server is wrong.
Does any AI actually read llms.txt today?
The honest answer is that adoption is strong on the publishing side and weak on the reading side. Hundreds of technical documentation sites already publish the file, and several developer tools consume it when you point them at the URL by hand. No major search engine has confirmed using it to pick sources, and Google spokespeople have said publicly that they do not use it. Publishing is still worth it because of the cost, which is half an hour of work, and because of a useful side effect: doing the curation forces you to decide which ten pages represent the site, and that list is worth more than the file itself.
Does llms.txt replace robots.txt or the sitemap?
No, and confusing the three is the most common mistake. robots.txt says who may come in, it is an access rule and it is the only one of the three that blocks anything. The sitemap lists everything that exists so the crawler leaves nothing out. llms.txt does the opposite of the sitemap: it picks what matters and explains why. A well set up site publishes all three and they never overlap. If your llms.txt has 400 links, you wrote a sitemap under a different name and lost the one advantage it had.
How many links should an llms.txt have?
Between 6 and 40 for most sites, with rare exceptions for large documentation. The criterion is not quantity, it is substitution: every link should answer a question someone would ask about your business, and the description should make that question obvious. If you cannot write the sentence that justifies the link, it does not belong there. This tool saturates the coverage item at 6 links and warns above 150, which is the point where the file has become a sitemap dump.
Why does the optional section have to be named Optional in English?
Because Optional is the only section name with reserved meaning in the format: it marks the block a reader may skip when it needs a smaller context. Translating it breaks nothing, but it turns the special section into a regular one and the priority signal is lost. Every other section heading is free and should be in the language of your content. This tool flags the translated version when it finds one.
Do I also need an llms-full.txt?
Only if your documentation is large and you want to offer the whole content in a single file. llms-full.txt is a parallel convention: it does not list links, it concatenates the full text of the pages. It makes sense for technical product documentation, where somebody will paste the whole thing into a prompt. For a brand, service or ecommerce site the file grows out of hand, goes stale the next day and nobody reads it. Start with llms.txt and only build the second one if somebody is asking for it.
Embed this tool on your site

Paste this code wherever you want the generator to show up. The credit link below the frame helps us and you are free to keep it.

Keep going

With the file published, the next step is the layer it does not solve: crawler access, extractable text and authorship signals. Read the full method in the generative engine optimization guide, see the FAQ structure that earns the most citations in FAQ content for AI citation, and what changes in conversion work in CRO in the age of AI.

Related tools

See all tools →