Free tool

llms.txt Generator

Build a valid llms.txt from your sitemap or a list of URLs, with an honest read on what the convention is and is not.

Runs in your browser — nothing is uploaded.

What this file is, honestly

llms.txt is a proposed convention, not a standard. No major answer engine has confirmed that it reads one, and nobody should publish a file on the strength of a promise that it will. We ship one on this site, and generate one from the Citely plugin, for a narrower reason: it costs almost nothing, and if adoption does arrive we already have a curated index rather than whatever a crawler would infer from our navigation.

That is the whole case. Treat any tool or plugin that promises rankings from an llms.txt with the suspicion it deserves.

The format

It is markdown with a fixed shape:

# Site name

> One sentence describing what this site is for.

## Docs

- [Getting started](https://example.com/docs/start): Install and first run.
- [API reference](https://example.com/docs/api): Every endpoint, with examples.

## Optional

- [Privacy policy](https://example.com/privacy): What we collect.
  • An H1 with the site or project name. One per file.
  • A blockquote summary — the single most valuable line in the file, because it is what a model reads first.
  • H2 sections of links, each entry - [Title](url): description. The description is the point.
  • An Optional section, which the convention defines as material a reader may skip when short on context. Legal and administrative pages belong here.

Curation is the work

The temptation is to pipe a sitemap through a script and publish the result. An llms.txt produced that way is strictly worse than the sitemap it came from, because it carries the same URLs with less structure and an implication of curation that is not there.

The useful version answers, per link, “why would someone read this one?” That is why this generator gives you an editable row per URL and tells you how many still have no description. A file where every description is blank is not finished — it is a sitemap wearing a hat.

Twenty well-described links beat four hundred bare ones. If a page would not make your hand-written “start here” list, leave it out.

Publishing it

The file has to serve as plain text from the root of the domain: https://yoursite.com/llms.txt. On WordPress that means a real file at the web root, or a route registered by a plugin or your theme — uploading it to the media library serves it from /wp-content/uploads/, which is not the same thing and will not be found.

Once published, confirm a crawler can actually reach it. A machine-readable summary behind a blocked retrieval crawler is effort spent on a file nothing is allowed to read.

Keeping it true

A stale llms.txt is worse than none: it describes a site that no longer exists, confidently. Generate it from your real content rather than maintaining it by hand — that is what this site does for its own file, and what the Citely plugin does for a WordPress site. If you are editing this one by hand, put a reminder somewhere to re-check it when your structure changes.

Frequently asked questions

What is llms.txt?
A plain-text file at the root of a site — /llms.txt — that describes what the site covers in a form a language model can read cheaply: a title, a one-line summary, and sections of links each with a short description. It is written in markdown and is meant as a curated map of a site, in the way robots.txt is a map of what may be crawled.
Does llms.txt actually do anything?
Not provably. llms.txt is a proposed convention published at llmstxt.org, and as of this writing no major answer engine has confirmed it as a retrieval or ranking input. Publishing one is cheap insurance rather than a lever: if adoption arrives you already have a curated index instead of whatever a crawler would infer, and if it does not you have lost an afternoon. Be sceptical of anyone selling it as more than that.
How is llms.txt different from a sitemap?
A sitemap lists every URL for a crawler that will fetch them all anyway. llms.txt is curated and annotated: it names the 20 or 30 pages that matter and says what each one is for, so a model that reads only that file still understands the site. If your llms.txt is your sitemap with different punctuation, it adds nothing.
What is llms-full.txt?
A companion file containing the full text of the linked pages in one document, rather than links to them. It saves a model from fetching each page separately. It suits documentation sites and reference material; for a large content site it becomes unwieldy fast, and the curated link file is the more useful of the two.
Where do I put the file?
At the root of your domain, so it serves at https://yoursite.com/llms.txt as plain text. On WordPress that means a real file or a route your theme or a plugin registers — dropping it in the media library will not serve it at the root.
Should every page go in it?
No, and a file that lists everything defeats the purpose. Include what you would send a knowledgeable person who asked what your site is for: the pillar pages, the reference material, the docs. Put the legal and administrative pages under an Optional section, which the convention defines as the part a reader may skip.

A machine-readable summary only helps if a crawler is allowed to fetch it. Check which AI crawlers your robots.txt blocks.

Check your AI crawler rules
Go multilingual free
Open source · your data stays yours
Start free