llms.txt Generator
Prefill the title, summary and page list from your homepage and sitemap, edit the sections, then copy or download a file that follows the llmstxt.org spec. Your draft stays in your browser.
We read your homepage title, description and sitemap to draft the sections. Your draft stays in this browser; we only log the domain you prefilled from.
Sections
No sections yet. Prefill from your sitemap above, add a section by hand, or start from an example with Docs, Product and Blog.
# Your site name
> A one-line summary
## Docs
- [Getting started](https://…): what's behind the linkPublish at the root of your domain, then run the llms.txt checker to confirm it is served correctly.
How it works
Prefill from your sitemap
Enter your domain. We read your homepage title and description and your sitemap, and draft the sections for you — grouped by path, one link per page.
Edit sections and descriptions
Rename sections, drop pages that don't matter, and add a one-line description to each link so a model knows what is behind it before it fetches.
Copy or download, then publish
Save the file as llms.txt at the root of your domain — right next to robots.txt — and run the checker to confirm it is served as plain text.
What goes in an llms.txt
The format is deliberately small. It is plain Markdown, read top to bottom, and every part after the title is optional:
- An H1 with the site or project name. The only required line. One # heading, nothing before it.
- A blockquote summary. One or two sentences after a > — what the site is, who it is for. Models read this first, so it should answer "should I keep reading?".
- Free paragraphs. Anything a reader needs before following links: how the docs are organised, where the API lives, what to ignore.
- Sections of links. Each ## heading holds a Markdown list. Every item is - [name](url): description — the description is optional but is the part that makes the file useful.
- An ## Optional section. A special last section for links a model may skip when it is short on context — legal pages, archives, secondary references.
# Acme
> Acme is a billing API for SaaS companies. Docs, pricing and the blog are linked below.
Prefer the docs for anything about the API. The blog is opinion and announcements.
## Docs
- [Getting started](https://acme.com/docs/getting-started): Install and send your first request
- [API reference](https://acme.com/docs/api): Every endpoint, parameter and response
- [Webhooks](https://acme.com/docs/webhooks): Event types and retry semantics
## Product
- [Pricing](https://acme.com/pricing): Plans and limits
- [Changelog](https://acme.com/changelog): What shipped, week by week
## Optional
- [Terms of service](https://acme.com/terms)
- [Privacy policy](https://acme.com/privacy) Where to publish it
At the root of your domain — https://yourdomain.com/llms.txt — served as text/plain or text/markdown, the same place your robots.txt and sitemap.xml live. Subdirectories and subdomains each get their own file if they are separate sites.
On a static host (Vercel, Netlify, Cloudflare Pages, GitHub Pages) put the file in your public/ or static/ folder so it is copied to the root of the build untouched. Single-page apps are the classic trap: many hosts answer every unknown path with index.html, so a missing file "exists" with a 200 status and an HTML body — the llms.txt checker flags exactly that.
If your documentation is static, consider also publishing /llms-full.txt: the full text of the docs in one Markdown file, so a model can read everything in a single request. Kitbase publishes both for its own docs at docs.kitbase.dev/llms.txt.
Frequently asked questions
Is llms.txt an official standard?
No. It is a proposal published by Answer.AI in late 2024 (llmstxt.org) that a large number of documentation sites and developer tools have since adopted. There is no standards body behind it and no engine is obliged to read it — but because it is cheap to publish and the format is tiny, adoption has grown quickly.
Do AI engines actually read llms.txt?
Honestly: unevenly. Some AI coding assistants and agent frameworks fetch it directly, and several answer engines have experimented with it, but none of the major crawlers publicly commit to it. Treat it as a low-cost curated map that helps the tools that do read it, not as a ranking lever. We wrote up the evidence in Does llms.txt Actually Work? on the Kitbase blog.
How is llms.txt different from robots.txt?
robots.txt tells crawlers what they may not fetch; llms.txt tells models what is worth reading and how your site is organised. One is a set of restrictions, the other is a curated index. They live side by side at the root of your domain and don't overlap.
How is it different from sitemap.xml?
A sitemap lists every URL you want indexed, with no explanation. An llms.txt is short, human-readable Markdown: a title, a one-line summary, and a handful of sections whose links each carry a description. It is meant to be read top to bottom by a model with a limited context window, not crawled exhaustively.
What is llms-full.txt?
An optional companion file that contains the full text of your documentation concatenated into one Markdown document, so a model can read everything in one request instead of following links. Publish it at /llms-full.txt if your docs are static enough to export; the generator here produces the index file, not the full one.
How many links should it have?
Fewer than you think. The point is curation: the pages someone would need to understand and use your product, grouped into a handful of sections. Dozens of links is normal; hundreds means you are pasting your sitemap. Move the long tail into an ## Optional section so a model that is short on context can skip it.
Do you store my draft?
The draft itself lives only in your own browser: it is saved to localStorage so you can come back to it, and nothing you type is sent to Kitbase. The prefill step fetches your homepage and sitemap once, server-side, and returns the result to your browser; we record which domain was prefilled and how many pages we found, so we can see how the tool is used, but not the pages or the file you build.
Can I regenerate it later when my site changes?
Yes. Come back, prefill from your domain again to pull the current sitemap, and re-apply your descriptions. If you want a machine to watch for drift instead, Kitbase's site audit checks that llms.txt exists and is served correctly on every run.
More free tools
All tools →AI Crawler Access Checker
See which AI crawlers your robots.txt and firewall let in — bot by bot.
llms.txt Checker
Validate your llms.txt against the spec and catch the usual mistakes.
AI Citation Preview
See how a page reads to Google, social cards and AI answer engines.
Bot User-Agent & IP Verifier
Paste a user agent or IP to identify the bot — and prove it's genuine.
Stop checking by hand. Kitbase watches this for you.
AI Visibility runs continuously on your real traffic and your real pages — with alerts when something changes, not when you remember to look.