[CiteSnap]

llms.txt generator and validator

Generate a spec-compliant llms.txt from your sitemap, or validate the one you already publish. Free and instant — and honest about the fact that llms.txt has no proven effect on citation.

By · Published · Last updated

Reads the site’s sitemap.xml (up to 50 URLs) and drafts the file. It never fetches the pages themselves.

What an llms.txt looks like

Four elements, in order: a title, a summary, sections, and described links. The convention is small enough to write by hand in ten minutes.

# Example Coffee Lab

> Espresso research, brewing guides and equipment reviews,
> based on measurements rather than opinion.

## Guides

- [Espresso extraction time](https://example.com/extraction): the 25–30 second window and why
- [Grind sizing](https://example.com/grind): how to dial in a new bean

## Reference

- [Equipment reviews](https://example.com/reviews): measured, not sponsored

The honest case for and against

Publish one, but late in the list. Here is the argument on both sides, without the hedging that usually surrounds this topic.

For

  • The cost is ten minutes and zero risk. Nothing about publishing one can hurt you.
  • Writing it is a useful exercise. Deciding which twenty pages you would want a model to read tends to surface how much of a site is not worth reading at all.
  • If adoption comes, you are already there. Some documentation tools and smaller agents do read it today.

Against

  • No measured effect. The 300,000-domain study found nothing. Not a small effect — nothing.
  • No major vendor has committed to it. Not OpenAI, not Anthropic, not Google, not Perplexity.
  • It competes for attention with things that do work. The hour spent perfecting an llms.txt buys far more as an hour spent making three sections answer their own headings.

What to do instead, first

Fix retrievability and extractability before you fix llms.txt. In the CiteSnap model those are 25 and 60 points respectively, against 4 for this file.

  1. Confirm no AI crawler is blocked — the AI crawler checker takes five seconds.
  2. Make sure the content exists in the HTML before JavaScript runs.
  3. Rewrite the first sentence of each section so it answers that section’s heading.
  4. Then publish an llms.txt, because by that point it costs you nothing.

The GEO score checker reports all of this at once, ordered by how many points each fix recovers.

Frequently asked questions

What is llms.txt?

llms.txt is a proposed convention: a Markdown file at your site root that lists the pages you most want a language model to read, grouped into sections with a one-line description each. It was proposed by Jeremy Howard in September 2024 as an equivalent of robots.txt for guidance rather than permission.

Does llms.txt actually work?

There is no evidence that it does. A study of roughly 300,000 domains found no correlation between publishing an llms.txt and being cited by AI answer engines, and no major AI vendor — OpenAI, Anthropic, Google, Perplexity — has committed to reading one. CiteSnap scores it 4 points out of 100 because it is free, harmless and takes two minutes, not because it is known to help.

Should I publish one anyway?

Probably, once your actual content is in order. The cost is minutes and the downside is nil. But an llms.txt is worth 4 points where answer-first structure alone is worth 13, so publishing one before fixing how your pages are written is optimising the smallest available lever.

Where does llms.txt go?

At your site root — https://example.com/llms.txt — served as text/plain or text/markdown. If your host returns an HTML page for unknown paths, as most single-page-app hosts do, a crawler cannot tell your llms.txt from a 404, and this tool will report it as missing.

What is the difference between llms.txt and robots.txt?

robots.txt says what a crawler may not fetch and is honoured by every major AI crawler. llms.txt suggests what a model should read and is honoured by none of them so far. One is a rule with teeth; the other is a hint.

What should llms.txt contain?

An H1 with your site name, a blockquote summarising what the site is about, then `##` sections each holding a list of Markdown links with a description after a colon. The descriptions are the whole point — a list of bare URLs tells a model nothing it could not get from a sitemap.

Fix the levers that actually move the score

llms.txt is worth 4 points out of 100. The extension scores all 14 checks on any page you visit and tells you which of the other 96 points you are leaving on the table.