llms.txt Generator & Validator

llms.txt is the emerging standard AI agents (ChatGPT, Claude, Perplexity) check for a clean index of your site. Generate yours in a minute — or validate the one you already have.

Prefill from your sitemap (optional)

Your llms.txt

# Your Site

Upload it to your site root so it’s live at https://yoursite.com/llms.txt

llms.txt that maintains itself

A hand-written llms.txt goes stale on your next publish. Every site on Quillly serves an auto-updated llms.txt (and llms-full.txt) for all its content — plus schema, meta tags and submission to 8 search engines, on every publish.

Get cited by AI on autopilot

What is llms.txt?

llms.txt is a plain-markdown file you publish at the root of your site, at /llms.txt, that hands an AI assistant a clean index of what is worth reading on it. The convention is defined at llmstxt.org, and the shape is deliberately simple: an H1 with your site name, an optional one-line summary as a > blockquote, then ## sections grouping link lines written as - [Title](https://…): description.

It exists because an assistant asked about your product does not want your navigation, your cookie banner or your footer — it wants a short list of the pages that answer questions, with enough description to pick the right one. The companion file, llms-full.txt, goes the other way: instead of an index it contains the full markdown text of your content, for an assistant that would rather read everything in one request than crawl page by page.

How to use the generator and validator

  1. On the Generate tab, enter your domain and press Load pages. The tool reads your robots.txt for a declared sitemap, falls back to /sitemap.xml, follows a sitemap index to its first child, and fills the table with up to 50 URLs
  2. Add your site name and a one-line summary — these become the H1 and the blockquote
  3. Give each row a title and a short description, and delete the rows that do not earn a place. An index that lists everything is a sitemap, not an llms.txt
  4. Copy the output or download it, then upload it to your site root as llms.txt
  5. Switch to the Validate tab and enter any domain to check a file that is already live

What the validator checks

CheckSeverityWhy it matters
Missing H1 titleErrorThe file has to open with # Your Site Name so a reader knows whose index it is
No link lines at allErrorThe link lines are the content — without them there is nothing to act on
A link without an absolute https:// URLErrorNothing can resolve a relative path from a plain text file
The file is HTMLErrorUsually a catch-all route serving your 404 page; llms.txt must be plain markdown
More than one H1WarningThe convention expects exactly one
H1 is not the first non-empty lineWarningA reader that truncates keeps the beginning, so the title has to be in it
No > summary blockquoteWarningOne line saying what the site is orients an assistant before it reads a single link
No ## sectionsWarningGrouping links under headings like Docs or Blog is what makes the index skimmable
File larger than 50KBWarningllms.txt is an index; that much text belongs in llms-full.txt
No descriptions on any linkInfoDescriptions let a reader pick the right page without fetching every one

How Quillly's own llms.txt is built

Nothing in it is typed by hand. The marketing pages come from a build-time page manifest, so a new or renamed page appears without anyone remembering to add it. The blog, docs and changelog entries are read live from the database. The list of what the product can do is generated from the tool registry, which means a retired tool cannot linger in the file as an instruction that then fails. It is rendered on request and cached for an hour.

The order matters as much as the contents: the file opens with what an agent needs — what the product does, when to reach for it, how to connect — before any page listing, because a reader that runs out of room keeps the beginning. That is the part a hand-written llms.txt usually gets backwards.

Frequently Asked Questions

Do AI assistants actually read llms.txt?

It is a convention rather than a ratified standard, and no major assistant has committed publicly to fetching it on every request. What it reliably does is give any agent that looks — and anyone who points one at your site — a clean, current index instead of raw HTML. The cost is one small text file.

What is the difference between llms.txt and llms-full.txt?

llms.txt is an index: a title, a summary, and grouped links with short descriptions. llms-full.txt is the content itself, the complete markdown text of your pages in one file. Keep the index small and put the bulk in the full variant.

Does llms.txt replace robots.txt or my sitemap?

No. robots.txt controls which crawlers may fetch what, and sitemap.xml is the machine list of every URL for search engines. llms.txt is a curated summary for a reader with a limited context window. Publish all three.

Where exactly does the file go?

At the root of your domain, so it resolves at https://yoursite.com/llms.txt. Serve it as plain text. If your host returns your HTML 404 page for unknown paths, the validator will flag it as an error rather than letting you believe it is live.

How often should I update it?

Whenever the set of pages worth reading changes — a new product page, a docs section, a cornerstone post. A hand-written file goes stale the next time you publish, which is the argument for generating it from your own content rather than maintaining it by hand.

Want an llms.txt that never goes stale?

Every site on Quillly serves an llms.txt and llms-full.txt generated from its own live content, updated on every publish.