Reads your pages
Titles and descriptions come from each page itself, not from guessing at a URL slug. A page called /p/48219 still gets a real name.
Free tool · No signup
This free llms.txt generator drafts a file from your live pages, not from a raw list of sitemap URLs.
GENERATED FILE
LLMS.TXT
NOTES
NEED MORE THAN 20 PAGES?
The same page extraction and sitemap inspection behind this generator are available as APIs, so you can regenerate the file on every deploy instead of by hand.
WHAT THIS GENERATOR DOES DIFFERENTLY
Titles and descriptions come from each page itself, not from guessing at a URL slug. A page called /p/48219 still gets a real name.
URLs that return an error, redirect elsewhere, or carry noindex are left out and counted, so your llms.txt does not advertise pages you never wanted indexed.
The draft reports how many URLs were discovered against how many were included, so a partial file is never presented as a finished one.
LLMS.TXT GENERATOR GUIDE
An llms.txt file is quick to publish and easy to get wrong. This guide covers what the file is, how this llms.txt generator builds one from your live pages, how it differs from robots.txt and sitemap.xml, and how to put it live.
An llms.txt file is a Markdown document served at the root of a domain, at /llms.txt, describing what a website is about and which pages are worth reading. The convention was proposed at llmstxt.org as a way to give language models a short, curated map of a site instead of leaving them to infer one from navigation and boilerplate.
The reasoning is simple. A model answering a question about your product has a limited context window. Left to crawl, it spends that budget on menus, cookie notices, and footers. A curated file points it at your documentation, your pricing, and your key articles, in your own words.
Before using any llms.txt generator it is worth being straight about the status of this: llms.txt is a community proposal, not a standard any AI vendor has committed to. Publishing one is cheap and reversible, and several documentation platforms already generate them, but nobody guarantees it will be read.
Enter a domain and the generator does three things.
It looks for sitemap declarations in robots.txt first, then falls back to common locations such as /sitemap.xml and /sitemap_index.xml, following sitemap indexes within bounded limits. This is the same discovery the XML Sitemap Checker uses.
Every discovered URL is inspected before it reaches the file. Pages that return a 4xx or 5xx response, redirect somewhere else, or declare noindex are dropped and counted in the notes. This is the step most generators skip, and it is why their output frequently lists pages that no longer exist.
Each surviving page is fetched and its own title and meta description are used. Repeated brand suffixes are removed, because thirty consecutive lines ending in the same site name is noise when the name is already the heading of the file.
The shape is deliberately plain Markdown, so a person and a model can both read it:
# Site name
> One sentence describing what the site is and who it is for.
## Pages
- [Page title](https://example.com/page): What the page covers.
- [Another page](https://example.com/other): What that one covers. An H1 with the site name, a blockquote summary, then sections of links with a short note after each. Group links under further ## headings when a site has distinct areas such as documentation, guides, and product pages. Keep descriptions to a single clause; this is a map, not a brochure.
These three files are often confused because they all sit at the root of a domain and all concern crawlers. They answer different questions.
robots.txt is about permission. It states which user agents may request which paths, and it is the file that decides whether an AI crawler such as GPTBot or ClaudeBot may reach your pages at all. If robots.txt blocks a crawler, no llms.txt will persuade it otherwise.
sitemap.xml is about completeness. It lists every URL a site wants discovered, in machine-readable XML, with no notion of which pages matter more. It is written for search engine crawlers rather than for reading.
llms.txt is about emphasis. It is a short, human-readable, curated selection saying "this is what we do, and these are the pages that explain it". A sitemap with four thousand URLs and an llms.txt with twenty are both correct; they are answering different questions.
Publishing llms.txt does not replace either of the others. Keep your sitemap for discovery, keep robots.txt for access, and check what your robots rules actually allow before assuming a model can read anything at all.
Generate the draft above, then edit it. The llms.txt generator gives you an accurate starting point from your real pages; only you know which twenty pages deserve to be there and how to describe them for someone who has never seen your product.
Save the result as llms.txt and upload it so it is reachable at https://yourdomain.com/llms.txt, served as text/plain. On a static site, that means the public or root directory. On WordPress, place it in the web root rather than inside a theme, since themes are replaced on update. On Shopify and other hosted platforms, use whichever file or redirect mechanism the platform exposes for root-level files.
Then confirm it loads by visiting the URL directly. A file that returns HTML, a 404, or a redirect to your homepage is not being served correctly, and this is the most common mistake after publishing.
Regenerate it when your site changes meaningfully. A file listing pages you deleted six months ago is worse than no file, because it actively points models at dead URLs.
A Markdown file at the root of a website that tells language models what the site is about and which pages matter. It has an H1 name, a blockquote summary, and sections of links with short descriptions.
Enter your domain in the llms.txt generator above. It discovers your pages through your sitemap, reads each one for its real title and description, and drafts a spec-shaped file you can copy, edit, and upload.
At the root of your domain, reachable at https://example.com/llms.txt, exactly like robots.txt, and served as plain text.
No. It is a community proposal published at llmstxt.org, not something any AI vendor has committed to follow. Publishing one is cheap and reversible, but no provider guarantees it will be read.
There is no evidence that it will. Anyone promising citations from a text file is overselling. Treat it as making your site easier to summarise correctly, not as a ranking mechanism.
This llms.txt generator drafts up to 20 pages, and reports how many URLs it discovered in total so a partial draft is never presented as a complete file.
Pages that error, redirect, carry noindex, or have no title are excluded and counted in the notes. A page you did not want indexed does not belong in llms.txt either.
This llms.txt generator reads the pages your site actually serves and drafts a file from them. Because it inspects each URL first, the result reflects what is live rather than what your sitemap claims.
Edit the draft before publishing. The descriptions that work hardest are the ones written for a reader who has never used your product.
A file built from a broken sitemap inherits its problems. Run the XML Sitemap Checker before generating.
Entries are only as good as your meta descriptions. Review key pages with the Meta Tag Checker.
Our AI search guide covers crawler access, structure, and original content together.