passcite

llms.txt generator: write one a model can actually use

Paste a client’s URL and we read the site, sort the pages into sections and draft the file. Then you cut, which is the half a crawl cannot do — or fill it in by hand. No signup either way.

Optional — everything below can be filled in by hand. We read up to 50 pages, sort them into sections and fill in the fields. Only the URL goes to our server; everything you type stays in the browser.

The business, not the tagline. This becomes the H1.

What you do and who for. This is the line a model reads to decide what this site is.

Optional. Hours, service area, what you do not do. Plain sentences — no headings.

Paste a list of pages instead
Sorted into sections the same way a crawl is. Lines from an existing llms.txt work too.

Here is a finished one, for a practice that does not exist. Read a URL above or start typing on the left and it becomes yours — the file builds as you go.

llms.txt · example
# North Austin Dentistry

> A family dental practice in North Austin, taking new patients, open Saturdays.

We serve North Austin, Cedar Park and Round Rock. We do not take Medicaid.

## Services

- [Invisalign](https://example.com/services/invisalign): What it costs, how long it takes, and who it suits
- [Dental implants](https://example.com/services/implants): Single tooth and full arch, with recovery times
- [Emergency dentistry](https://example.com/services/emergency): Same-day appointments, what counts as an emergency

## Answers

- [What we charge](https://example.com/fees): Prices for common treatments, and the payment plans we offer
- [Insurance we take](https://example.com/insurance): The plans we are in network for, and what we do not accept
- [New patient FAQ](https://example.com/faq): First visit, parking, what to bring, how long it takes

## About

- [The practice](https://example.com/about): Who works here, how long we have been in North Austin
- [Book an appointment](https://example.com/contact): Hours, address, phone, and online booking

Upload it so it answers at /llms.txt, served as text/plain. Since v2 of the spec a subpath counts too — /docs/llms.txt covers the pages under it. Then check the live file — a file that is served as HTML, or from the wrong path, is a file nothing reads.

What to put in it, and what to leave out

The temptation is to list everything. Resist it. The file is read by something that has to decide, in one pass, what this site is for — and a hundred links tell it less than ten to twenty do.

Three rules that hold up:

  • The summary does most of the work. One sentence that names what you do, who you do it for, and where. “A family dental practice in North Austin, taking new patients” beats a paragraph of positioning.
  • Link the pages that answer a question, not the pages that exist. A pricing page, an FAQ, a comparison, a service page with real detail. Your privacy policy is not on this list.
  • Describe each link. The text after the colon is free context and most files skip it. “Invisalign: cost, timeline, and who it suits” is worth more than the URL on its own.

Why the draft is shorter than your site

Reading a site takes a minute and gets you a file. It also gets you the temptation this whole format exists to resist: we found forty pages, so here are forty links. So the draft stops at eighteen, six to a section, and everything else sits under a list you can add from one at a time. The blog, the homepage and anything the classifier could not place start out of the file rather than in it.

The two fields worth your attention afterwards are the summary and the descriptions. A crawl can only copy what a page already says about itself — and most meta descriptions were written for a search result, not to tell a model what the page answers.

It is rarely what a report turns up

We should say this plainly, since we build the tool for it: an llms.txt is rarely the reason an engine names somebody else. When we run the buyer questions against a site and it loses, it usually loses because there is no page answering the question at all — not because the index pointing at the missing page was formatted wrong.

Publish it anyway. It takes fifteen minutes and it is one of the few things on the list that is entirely within your control. Once it is up, the llms.txt validator reads it off your domain — the file that looks right in the editor and 404s on the site is the common case. Then find out what is actually costing you.

FAQ

Questions

What is llms.txt actually for?
It is a short markdown file that says what a site is and points at the pages worth reading. The idea, from llmstxt.org, is that an agent working with a limited context window should not have to crawl and guess — you hand it a curated index instead of a sitemap with four thousand URLs in it.
Does anything actually read it?
More than when the proposal started. The spec reached v2 in August 2026 on the back of real adoption: thousands of sites publish one, documentation platforms generate them automatically, coding agents follow them, Chrome's Lighthouse audits for one, and OpenAI, Anthropic and Google all publish llms.txt files for their own developer docs. What still has no public commitment is the consumer answer engines using it to decide who to recommend — so publish it, and do not expect it to be the thing that gets your client named.
Where does the file go?
Usually at the root, answering at example.com/llms.txt as text/plain. Since v2 it can also live at a subpath — /docs/llms.txt covers the pages under /docs/, and an agent uses the most specific file that applies. What does not count is an HTML page with that name, which is all several hosted builders will let you make.
How is it different from robots.txt or a sitemap?
robots.txt says who may read you. A sitemap lists every URL you have, for search engines, and is usually far too large to fit in a context window. llms.txt says what matters and why — it is the only one of the three that carries meaning rather than permissions or an inventory, and the only one that can point at pages on other sites.
How long should it be?
Short. Ten to twenty links is normal for a small business site. If you are listing every blog post you have ever written you have built a sitemap with extra steps, and the summary at the top — the part a model actually reads first — gets buried. That is why the draft hands back fewer links than the crawl found, and puts the rest behind a list you add from deliberately.
Do I need an account to use this?
No, and none of the other tools here need one either. One thing worth stating plainly: if you use the URL field, that address is sent to our server, because the crawl happens there — we read the pages, sort them and hand the draft back. Nothing is stored and no report is created. If you fill the form in by hand instead, the file is built in your browser and nothing leaves the page.

See who the engines recommend instead

The prompts your client loses, who wins them, and the tasks that would change it.

10 free credits — your first report, 10 prompts across ChatGPT, Claude and Google AI Mode. A free account, no card. About 3 minutes.