llms.txt Generator
BetaCreate an llms.txt file in the llmstxt.org format from your site name, summary and key pages. Copy or download it, plus robots.txt and header snippets.
- Free, no sign-up
- REST + MCP
- Updated
- Reviewed by Olgun Ozoktas
Site
The H1 and the summary agents read first
Sections
Each becomes an H2 with a list of links
No sections yet
Add a section to start listing links
Most files have a Docs section, and an Optional section for links agents can skip.
Add a site name, origin and summary to enable download.
Why Use the llms.txt Generator?
llms.txt is a plain Markdown file served at /llms.txt that describes a website for language models. The format is defined at llmstxt.org: an H1 with the site or project name, a blockquote with a short summary, optional paragraphs of context, and then H2 sections, each holding a list of links written as - [title](url): description. A section named Optional is special: it holds links an agent may skip when its context window is short.
This generator writes the file from a form. The site name becomes the H1, the summary becomes the blockquote, and the Details text is placed under it as prose; a Markdown heading typed into Details is escaped, because a heading there would start a new section. Each section becomes an H2 in the order you set, empty sections are left out, two sections with the same heading are merged, and a section called Optional is moved to the end. Link URLs may be absolute (https://…) or root-relative (/guides/); relative ones are resolved against the origin. Square brackets in titles and parentheses in URLs are escaped so each line stays a valid Markdown link.
The page checks the file as you type. Errors block the download: an origin that is not an absolute http(s) URL, a link without a title, and a URL that is neither absolute nor root-relative or still holds an <angle-bracket> placeholder. Warnings do not block it: a link on another host, an http link on an https site, the same URL listed twice, a missing description, a title left over from a template, a summary longer than 320 characters and a file larger than about 100 KB. URLs are checked for shape only; nothing is fetched, so the page cannot tell whether a linked page exists.
Next to the file you get four things to publish: the address the file belongs at, a robots.txt group that allows the main AI crawlers by name (with an optional Content-Signal line and Sitemap line), an HTTP Link header and an HTML <link> tag that both point to /llms.txt. To write the rest of robots.txt, use the robots.txt Generator, and to check whether a page is ready for AI search, use the GEO Analyzer.
How it compares
robots.txt, sitemap.xml and llms.txt answer different questions. robots.txt tells crawlers which paths they may fetch, and the robots.txt Generator writes it. sitemap.xml lists every URL you want indexed, with dates, and the XML Sitemap Generator builds it. Search engines have long-standing, documented support for both. llms.txt is a short, human-written index of the pages worth reading, with a sentence about each, for language models. It is a proposal from llmstxt.org rather than a standard: no search engine or AI company is known to guarantee that it reads the file, and there is no evidence that it changes search rankings. It costs little to publish and does not replace the other two files.
Tips for a Useful llms.txt
- List the pages that answer questions, not every URL. A sitemap already lists everything; llms.txt is the short version with a sentence per link.
- Write each description as the reason to open the page, for example "Every queue option, with its default value", rather than repeating the title.
- Keep the file small. The generator warns above about 100 KB; move detail into the linked pages.
- Use absolute https URLs or /paths/ on your own origin. A link on another host is allowed but flagged, in case it was a mistake.
- Put the changelog, legal pages and archives under Optional, so an agent with little context space can skip them.
- After publishing, check that https://your-site/llms.txt returns status 200 with a text content type, and run the GEO Analyzer on your homepage.