llms.txt Generator & Validator

Check whether a site has /llms.txt and whether it follows the llmstxt.org format, or build a draft from the sitemap: name, summary and sections linking to key pages.

We fetch https://domain/llms.txt (up to 1 MB) and look for llms-full.txt. You can also enter a full file URL in a subfolder.

File contents


                
We take the homepage name and description, up to 30 pages from sitemap.xml (or homepage links) and their titles. Takes 10–40 seconds.
The editor validates in your browser on every change — the text is not sent to our server.

What the validator checks

  • Structure per llmstxt.org: the H1 name on the first line, a “>” blockquote summary, optional paragraphs, ## sections with link lists and the special ## Optional section.
  • Each item’s format “- [Name](URL): description”: link parsing, empty text or URL, relative and http links, duplicates, the description separator. Links are checked by format only — we do not crawl them.
  • For a live file, also the status code, redirects, Content-Type and charset, HTML instead of text (a common SPA issue) and whether llms-full.txt exists next to it.
  • Errors break the format, warnings are worth fixing, notes are recommendations. Publishing llms.txt does not guarantee AI services will read it: it is a proposed standard, not a platform commitment.

Free llms.txt Generator and Validator

llms.txt is a Markdown file in the site root that briefly describes a project and lists links to its key pages so a language model can make sense of the site. The format was proposed at llmstxt.org in 2024. This tool checks the file on your site (status code, Content-Type, structure and the format of every link), builds a draft from the title and description of your homepage and up to 30 pages from sitemap.xml, and validates text live in the editor. Note: it is a proposed standard — major AI companies have not officially committed to using it.

Live /llms.txt check: status code, redirects, Content-Type and charset, HTML served instead of text
Structure validation per llmstxt.org: H1, blockquote summary, ## sections, the Optional section
Parses every “- [Name](URL): description” item: empty, relative, http and duplicate links
Draft from sitemap.xml (via robots.txt and sitemap_index) or homepage links, up to 30 pages with their titles
Pages grouped by site section, legal pages moved to the Optional section
Editor with live validation, copy and download of the finished llms.txt

How to Use

  1. On the Validate tab, enter a domain — the tool fetches https://domain/llms.txt and lists errors, warnings and the outline
  2. No file yet? Build a draft from your sitemap on the Generate tab and refine it in the editor
  3. Fix the issues, download llms.txt, upload it to the site root and run the check again

FAQ

It is a “table of contents for AI”: a Markdown file at /llms.txt with a name, a short summary and lists of links to important pages with notes. The idea is to give a model short, clean text instead of HTML full of menus, ads and scripts.

There is no official confirmation. OpenAI, Google, Anthropic and Perplexity have not said their search or crawlers use llms.txt to pick sources, and Google representatives have said publicly that Google Search does not use it. The file is useful where it is read explicitly: in developer tools and AI agents pointed at your documentation. It is cheap to publish, but it does not guarantee more visibility in AI answers.

It looks for a sitemap in robots.txt, then at /sitemap.xml and /sitemap_index.xml; with no sitemap it uses homepage links. It drops files, URLs with parameters, tag and author pages and language copies, groups URLs by the first path segment and takes up to 30 pages, preferring shallow ones. For each it fetches the title and meta description. The result is a draft: rewrite names and descriptions for the reader.

Site checks are limited to 15 a day and generation to 10 (three times more after free sign-up, unlimited with Pro). The file is read up to 1 MB and links are checked by format only — we do not crawl them. Editor text is validated in your browser and is not sent to the server.

What is llms.txt and why it exists

llms.txt is a Markdown file served from the site root at /llms.txt that tells a language model, in a few lines, what the site is about and where the important content lives. It was proposed by Jeremy Howard of Answer.AI in September 2024; the spec is published at llmstxt.org. The reasoning is simple: models have a limited context window, and an HTML page is mostly navigation, banners, scripts and markup. A short file with a summary and annotated links saves the model that work and lowers the chance it misreads your site.

Keep its status in mind: llms.txt is a proposed standard, not a protocol that search engines or AI services are bound to follow. What is actually known about adoption is covered in the last section.

llms.txt format: what the spec requires

The spec defines blocks in a fixed order. Only the first one is required.

  1. An H1 with the name of the project or site: # Name. It is the first line of the file.
  2. A blockquote summary: > … — the gist in 1–3 sentences, with the key facts needed to understand the rest.
  3. Optional detail blocks: paragraphs, lists — any Markdown except headings. Use them to explain how to read the file, terms, limitations.
  4. H2 sections with “file lists”. Each item is a Markdown link, optionally followed by a colon and a note: - [Name](https://…): what the page covers.

llms.txt example

# Kolosok Bakery

> Craft bakery in Kyiv: sourdough bread, pastries and same-day
> delivery across the city from 8 am to 8 pm.

Orders are taken on the website and by phone. Prices include VAT.

## Catalog

- [Sourdough bread](https://example.com/bread): Ingredients, weight, prices
- [Pastries](https://example.com/pastry): Croissants, buns, seasonal menu

## Delivery and payment

- [Delivery](https://example.com/delivery): Zones, cost and times
- [Payment](https://example.com/payment): Payment methods and refunds

## Optional

- [Our story](https://example.com/about)

The Optional section

A section titled exactly ## Optional has a special meaning: its links can be skipped when a shorter context is needed. Put secondary material there — company history, legal pages, archives.

Markdown versions of pages

The spec also suggests serving a clean Markdown version of a page at the same URL with .md appended (/docs/start.html.md, or index.html.md for URLs without a file name). This is optional, and most sites simply link to their regular HTML pages from llms.txt.

llms.txt vs robots.txt vs sitemap.xml

robots.txtsitemap.xmlllms.txt
PurposeAllow or block crawlingList every URL for indexingSummarize the site and highlight what matters
AudienceCrawlers, including GPTBot, ClaudeBot, Google-ExtendedSearch engine botsLanguage models and AI agents
FormatUser-agent / Disallow directivesXML, thousands of URLsMarkdown, dozens of annotated links
Controls accessYesNoNo

The key consequence: llms.txt neither blocks nor allows anything. To keep AI crawlers or model training away from your content, use robots.txt — test it with the robots.txt checker or build one with the generator. Conversely, if an AI crawler is blocked in robots.txt, publishing llms.txt does not change that. Your full URL list still belongs in the sitemap; the sitemap checker shows its state.

llms-full.txt: when a second file makes sense

llms-full.txt is a convention popularized by documentation platforms: one file containing the full documentation text rather than just links, so a model gets everything in context without visiting pages. It is not part of the original spec, which describes llms-ctx.txt and llms-ctx-full.txt files built by the llms_txt2ctx tool (the full variant also includes the Optional links).

llms-full.txt is worth it for documentation, APIs and knowledge bases, where the whole text is needed. A store or a service site usually does fine with llms.txt alone. Watch the size: a multi-megabyte file will not fit into many models’ context windows. Our validator checks llms-full.txt more leniently: it requires an H1 and valid links but does not expect every section to be a link list.

How to add llms.txt to your website

The file should open at https://your-domain/llms.txt with a 200 status, UTF-8 encoding and a text/plain or text/markdown content type. The spec also allows a file in a subpath (e.g. /docs/llms.txt), but the root is where clients look first.

WordPress

Upload the file over FTP or your host’s file manager to the folder that contains wp-config.php. WordPress’s default .htaccess does not intercept existing files, so nothing else is needed. Popular SEO plugins (Yoast SEO, Rank Math) added llms.txt generation in 2025 — if you use that feature, don’t also upload a physical file, or it becomes unclear which version is live.

nginx

location = /llms.txt {
    charset utf-8;
    try_files $uri =404;
}

try_files $uri =404 matters for SPAs and sites that route every unknown URL to index.html: without it a missing file returns an HTML page with a 200 status, and clients get markup instead of text. charset utf-8 adds the encoding to Content-Type so non-Latin characters are not garbled.

Apache

AddCharset utf-8 .txt .md

This .htaccess line adds the charset to text files. If mod_rewrite rules send every request to a front controller, make sure they are preceded by RewriteCond %{REQUEST_FILENAME} !-f.

Shopify, Wix, Squarespace and other hosted builders

Not every builder lets you put an arbitrary file in the root. First look for a root file upload or a dedicated llms.txt setting. If there is none, one workaround is a 301 redirect from /llms.txt to a file in the platform’s file storage, provided the platform allows redirects from non-existent paths. Most HTTP clients follow redirects, but serving the file directly is more reliable. Check the live result afterwards: a common builder issue is a “404” HTML page returned with a 200 status.

Common llms.txt mistakes

MistakeFix
No H1, or text above itStart the file with # Name
Description separated by a dash- [Delivery](https://…): Zones and cost — use a colon
Relative URLs like /deliveryUse full https://example.com/delivery URLs: the file is often read out of context
Sections or items without linksMove plain text into the details block before the first H2
Hundreds of links to everythingKeep the 10–50 pages that matter; the rest belongs in the sitemap
Served as HTML or application/octet-streamServe it as text (see the nginx and Apache snippets above)

Write link notes for someone who has never seen the site: what the page contains and when to open it. “Learn more” or a repeat of the title adds nothing. The generator uses meta descriptions as a starting point, but marketing copy from snippets is better replaced with facts.

Do AI systems actually use llms.txt?

  • None of OpenAI, Google, Anthropic or Perplexity has officially said that its search or crawlers use llms.txt when choosing sources for answers.
  • Google representatives said publicly in 2025 that Google does not use it, and Google requires no special files for AI Overviews — normal indexing rules apply.
  • Many companies publish llms.txt for their own docs (Anthropic among them). That shows the file is handy for developers and AI agents that are explicitly pointed at it, not that it is a ranking signal.

The practical takeaway: create llms.txt if you have documentation, an API or a product people use through AI assistants — it takes half an hour. Don’t expect it to bring traffic from ChatGPT or AI Overviews on its own: visibility in AI answers still comes from pages that get indexed, answer real questions and earn links from other sites. To see where your site is missing visibility in regular search, try the SEO Radar.

Improve search rankings

SEO problems may be costing you traffic. Cascade link building will improve site visibility in search.

Cascade link promotion for your site $30 bonusBacklinks 5→50→5000 across 100+ platforms. From $30 to start, plus a $30 bonus for newcomers.