llms.txt Generator & Validator
Build and check the Markdown file that points AI assistants to your site’s key pages.
Your project or site
The name of the project or site.
One or two sentences with the key facts a reader needs to understand the rest of the file.
Paragraphs and lists in Markdown, but no headings: sections start below.
Fill links from your sitemap
Open your sitemap (for example https://example.com/sitemap.xml) in the browser, copy it and paste it here, or paste one URL per line. It is read in your browser.
Sections and links
Each section becomes an H2 with a list of links. Name every link and add a short note on what the page holds; links to Markdown copies of pages (page.md) are easiest for AI tools to read.
llms.txt
Save it as llms.txt at the root of your site (https://example.com/llms.txt) or in a folder for the pages under it (https://example.com/docs/llms.txt), served as plain text.
Check of this file
No problems: the file follows the llms.txt structure.
Validate an llms.txt
Paste a file, or fetch it above. It is checked as you type, in your browser.
Result
Structure
| Section | Line | Links |
|---|
About the llms.txt Generator & Validator
An llms.txt file is a short Markdown file at the root of a site (/llms.txt), or in a folder for the pages under it (/docs/llms.txt), that tells AI assistants and agents what the site is and where its most useful pages are. The format comes from the llms.txt proposal: an H1 with the name, a one-line summary in a blockquote, optional notes, then H2 sections that list links as - [name](url): notes.
This tool builds the file from a form — prefill the links from your sitemap, then name them, add notes and drop what readers do not need — and checks any llms.txt, pasted or fetched from a live site, against the structure rules, line by line. AI systems are not obliged to read llms.txt, and it does not control crawling: robots.txt does that.
How to use it
- Enter the Name of the project or site (it becomes the H1, the only required part) and a one-line Summary. Add Details in Markdown if readers need context first — paragraphs and lists, no headings.
- Add sections and links by hand, or open Fill links from your sitemap, paste your sitemap XML or a list of URLs and choose how to group them. Rename each link and add a short note on what the page holds.
- Put links a reader can skip into the Optional section, and keep it last.
- Watch the llms.txt pane: the file is rebuilt and checked as you type. Copy it or download it as
llms.txt, and upload it to the root of your site, or to the folder it describes. - To check an existing file, choose Validate a file, paste it, or enter your site’s address and press Fetch and check. Edit in the builder opens the file in the form so you can fix it.
Examples
# Example Tea Co > Loose-leaf teas, teaware and brewing guides. ## Docs - [Brewing guide](https://www.example.com/guides/brewing.md): Water temperature and steeping times ## Optional - [Our history](https://www.example.com/about/history.md)
## Docs ### Tutorials - [Quick start](https://www.example.com/start.md)
Warning, line 2: the reference parser reads “### Tutorials” as the start of a new section. Use “##” headings for sections.
Name: Teapot [care]
- [Teapot (care)](https://www.example.com/care.md)
Parsers end a link name at the first “]”, so the builder changes square brackets in names to round ones and says so.
Common uses
- Giving AI assistants a curated map of your documentation, API reference or product pages.
- Publishing an llms.txt for the one section of a site you control, such as /docs/.
- Checking an llms.txt that a CMS plugin or a documentation platform generated for you.
- Reading a partner’s or a competitor’s llms.txt before writing your own.
The llms.txt format
- Location:
/llms.txtat the root of a site, or in any folder (/docs/llms.txt). A file covers the URLs under its path; where more than one file applies, the most specific one is used. - In this order: an optional byte-order mark; one H1 with the name of the project or site (the only required part); a blockquote with a short summary; zero or more Markdown sections of any kind except headings (paragraphs, lists) with details; then any number of H2 sections with file lists.
- File lists: each item is a Markdown link
[name](url), optionally followed by:and notes about the page, as in- [Link title](https://link_url): Optional link details. - The Optional section: by convention, an H2 named
Optionalholds secondary links an agent can skip when it needs a shorter context. - Markdown copies of pages: the proposal suggests serving clean Markdown versions of pages at the same URL with
.mdadded (page.html.md) or in place of the extension (page.md), and linking to those. A page can point to its Markdown copy withrel="alternate" type="text/markdown", and to the llms.txt that covers it withrel="describedby", in<link>elements or an HTTPLinkheader.
What the validator checks
- Errors: no H1 at the start, a second or an empty H1, headings between the summary and the first section, a link without a name or an address, an address that is not a URL, and an HTML page instead of a Markdown file.
- Warnings: no summary,
#Namewithout a space, list items that are not- [name](url),*or+bullets (the reference parser reads only-), notes without a colon, link titles in quotes,###headings inside sections (the reference parser starts a new section at every line that begins with##), sections without links, two sections with one name and links to addresses that are not web pages. - Tips: relative addresses (with the URL they resolve to), addresses listed twice, text in a file list that parsers skip, a summary on several lines, an Optional section that is not last, a very long file, and links that do not point to Markdown pages.
The checks follow the proposal and how its reference parser (llms_txt) reads a file.
Limitations
- AI systems and agents are not obliged to read llms.txt, and no search engine promises to use it: it is a proposal for giving language models a curated overview, not a ranking signal.
- llms.txt does not allow or block anything. To control which crawlers may fetch your pages, use robots.txt (the Robots.txt Generator writes one).
- The validator checks the structure of the file, not whether the linked pages exist or what they say.
- Prefilling reads a pasted sitemap or list of URLs (up to 200 addresses at a time) and names each page from its address; it does not fetch the pages, so check the names and write the notes yourself.
- The fetch reads one llms.txt file, up to 1 MB, following up to five redirects.
Privacy
What you type in the builder and any file you paste stay in your browser; the builder keeps your draft in this browser’s storage until you clear it. Only when you press “Fetch and check” is the address sent to MySmartCoPilot’s server, which requests that one llms.txt file and returns it. MySmartCoPilot does not store the file; the server log records only the host name, status code and time of the request.
Frequently asked questions
Do AI assistants actually read llms.txt?
Some tools do, and nothing obliges any of them to. The proposal expects agents to look at llms.txt when they need information about a site while helping someone, and documentation platforms and SEO plugins generate the file; OpenAI’s, Anthropic’s and Google’s Gemini API documentation each publish one. Treat it as a useful map for the tools that choose to use it, not as a guarantee.
Is llms.txt the same as robots.txt or a sitemap?
No. robots.txt says which automated access is allowed, and a sitemap lists the pages you want search engines to find. llms.txt is a short, chosen overview for language models, with notes on what each linked page holds. They work side by side, and llms.txt never overrides robots.txt.
Where do I put the file?
At the root of your site, so that it is at https://example.com/llms.txt, served as plain text. If you only control a folder, such as documentation at https://example.com/docs/, put it there: a file covers the URLs under its path.
Should the links point to HTML pages or Markdown files?
Either works. The proposal suggests linking to clean Markdown copies of your pages (page.html.md or page.md), which models read more easily than HTML; if you have none, link to the HTML pages.
What should go in the Optional section?
Links a reader can skip when it needs a shorter context: background, history, long reference material. Keep the pages that matter most in the other sections.
What about llms-full.txt?
It is not part of the llms.txt proposal. Some documentation platforms, Mintlify for example, also publish a file of that name that combines the full text of every page. This tool builds and checks llms.txt.