Free tools / llms-txt-generator
llms.txt Generator
free · runs in your browserBuild a structurally valid llms.txt from a form, copy or download it, and ship it at your site root. Below is the part most generators leave out.
Read this before you use it
No major AI engine has publicly confirmed that it reads llms.txt. Not OpenAI, not Anthropic, not Google, not Perplexity. There is no published statement, no documentation page, and no crawler behaviour anyone has demonstrated at scale.
So this generator does not tell you llms.txt will get you into AI answers. It cannot. Any page that implies otherwise is stating something no vendor has confirmed. What it is: a proposed convention, published at llmstxt.org by Jeremy Howard of Answer.AI in September 2024. It costs about an hour, it is trivially reversible, and writing it forces a genuinely useful audit of your own pages. That is the honest case, and it is a reasonable one.
Your file
0 links
llms.txt
Local structure check
Generation runs entirely in your browser. What you type here is not sent anywhere. (checkable — open your network tab; the only requests this page makes are for its own fonts)
Validate a live llms.txt
in build · not available yetThis half runs on our server, not in your browser — checking someone’s live llms.txt means fetching a file from a domain we do not control, and a browser is not allowed to read another origin’s response. So it cannot be the same kind of tool as the generator above, and we would rather leave it switched off than pretend.
When it ships it will report the HTTP status, the content type, whether the file parses as the expected structure, a missing H1, sections with no links, and every link in the file that returns a non-200 status. The dead-link column is the point — it is the failure that actually happens. The privacy line above covers the generator only, and will not cover this.
Disabled on purpose. This page calls no endpoint — there is nothing behind these two controls yet. Until then: the crawler checker covers the file that is actually enforced.
What it actually is
A markdown file at your root, with four moving parts
A markdown file served at https://yourdomain.com/llms.txt:
- An
H1with the site or product name. Required — it is the only required element. - An optional blockquote directly under it: one or two sentences on what this site is.
- Optional prose, then
H2sections, each containing a bulleted list of markdown links in the form- [Title](url): one-line description. - An
## Optionalsection, by convention, for links that can be skipped when a shorter version of the file is needed.
There is also an llms-full.txt convention — the same idea with the page contents inlined rather than linked. This tool generates llms.txt; a full-content file is a build-step job, not a form-filling job.
The description line is the whole file
- Everything else is plumbing. A link list without descriptions is a worse sitemap.
- The description is the only part carrying information a machine cannot get from the URL.
- The useful version answers what question this page settles, not what the page is called.
- Write each line so it makes sense to a reader who has seen nothing else on your site.
It is not a sitemap, and it is not a robots.txt
Three files, three jobs, and they are constantly confused. The fourth card is the reason building one is worth an hour even under the caveat at the top of this page.
01
robots.txt — access
Grants or denies crawler access, and is enforced by well-behaved crawlers. Check yours against the AI crawlers.
02
sitemap.xml — discovery
Lists every indexable URL. Machine-generated and exhaustive by design.
03
llms.txt — curation
Short and hand-picked: the pages you would hand someone who had thirty seconds. Exhaustiveness is the failure mode, not the goal.
04
The audit is the real output
Enumerating your canonical URLs and stating what each is for surfaces the duplicates, the orphans, and the four pages that all half-answer the same question. That value does not depend on any engine reading the file.
The maintenance trap
An llms.txt is a snapshot the day you generate it and a liability six months later. Links rot, pages move, and descriptions describe a product you no longer sell.
A file confidently describing pages that 404 is worse than no file — it is the one thing in this stack that can actively misinform a reader, human or machine. Either wire it into your build, or put a recurring reminder on it and re-check the links. Re-checking is what the validator half above is for, which is precisely why we are not calling this done until that half exists.
Limitations, stated plainly
This tool checks the structure of the file you are typing, not its accuracy — it cannot tell you a description is wrong, and it cannot tell you a URL resolves, because it never fetches one. Generation is client-side and private; validation would fetch a public file from our server and would not be, which is why the two are separated on this page rather than blended.
And to repeat the thing this page opened with: shipping an llms.txt is not known to improve your visibility in any AI engine, because no engine has said it reads one. Anyone selling you the file as a visibility tactic is selling you a claim that nobody can support.
Fair questions.
The same five answers feed this page’s own FAQPage markup — one array, one source.
Does llms.txt actually work? Do AI engines read it?
No major AI engine has publicly confirmed reading llms.txt. There is no vendor documentation stating it is used, and no demonstrated crawler behaviour that proves it. Treat it as a low-cost, reversible convention some teams adopt, not as a mechanism with evidence behind it. If that changes, this page changes.
Then why would I publish one?
Three defensible reasons, none of them a ranking claim: it costs about an hour, it is trivially removed, and writing it forces a genuinely useful audit of which of your pages are canonical and what each one is actually for. If a convention does get adopted later, you already have the file. That is the whole argument.
Where does the file go?
At the root of your domain: https://yourdomain.com/llms.txt, served as plain text or markdown with a 200 status. Not in a subdirectory, not behind a redirect chain. One per domain.
Is my data sent anywhere when I use this?
Not from the generator. It runs entirely in your browser — nothing you type in the form leaves the page, and you can confirm that in your network tab. The validator would be different: fetching a file from a domain you enter has to happen on our server, because a browser cannot read another origin’s response. It is not built yet, so at present this page calls nothing at all.
What is the difference between llms.txt and llms-full.txt?
llms.txt links to your pages with a description each. llms-full.txt inlines the actual page content into one long file. The full version goes stale faster and gets large quickly, so it suits documentation sites with a build pipeline that regenerates it. This tool generates the linked version.
A file nobody has confirmed reading is not a strategy.
See whether AI actually mentions your brand.