llms.txt Checker & Generator
Enter a website to validate its llms.txt file, test the links inside it, and see how it reads to an AI tool. If the site has no file, you get a starter draft to edit and upload.
Free · needs a free account · reads public data only
See your results in one click. Sign in with Google, then run any of the 150 free tools.
Continue with Google
An llms.txt checker tells you whether a website publishes an llms.txt file and whether that file follows the format proposed at llmstxt.org. Enter a site and this tool looks for /llms.txt at the root, confirms it is a real text file rather than an HTML page, checks the required H1 title, the summary blockquote and the H2 link sections, tests a sample of the links inside it, and estimates how long it is in tokens. If the site has no file yet, it builds a starter draft from the home page title, meta description and sitemap, so you have something concrete to edit instead of a blank page. It is honest about what the file can and cannot do: llms.txt is an optional proposal, not a ranking factor.
How to use the llms.txt checker
- 1 Enter the websiteType the domain or any page address. The checker always looks for the file at the root of that host, such as https://example.com/llms.txt.
- 2 Run the checkWe fetch /llms.txt through our safety checks, note the status code and content type, and make sure the response is text rather than an HTML page the site sends for unknown addresses.
- 3 Read the format resultsSee whether the file starts with an H1, has a summary, groups links under H2 headings in "- [name](url): notes" form, and uses full URLs.
- 4 Fix broken links and gapsUp to 10 links are tested. Update or remove any that return errors, and add short notes to links that have none.
- 5 No file? Use the draftCopy the starter draft, replace the placeholder notes with real descriptions, delete anything unhelpful and upload it to your site root.
What llms.txt is
llms.txt is a proposed Markdown file at the root of a site (example.com/llms.txt) that gives AI tools a short, curated map of your most useful pages. It is a community proposal from 2024, not an official standard, and no major search engine has said it uses the file for ranking.
What this checker looks at
Whether /llms.txt exists and is served as text rather than an HTML page, the required H1 title, the summary blockquote, H2 link sections written as "- [name](url): notes", relative or malformed links, a sample of up to 10 links for errors, the file size in rough tokens, and whether llms-full.txt is also published.
What llms.txt is
llms.txt is a plain Markdown file placed at the root of a website, at /llms.txt, that gives large language models and AI agents a short, curated guide to the site. It was proposed in September 2024 by Jeremy Howard of Answer.AI and is described at llmstxt.org. The idea is simple: web pages are full of navigation, scripts and layout that make it hard for a model working with a limited context window to find the useful content, so the site owner writes a compact summary with links to the pages that matter most.
Think of it as a hand-written table of contents for machines. Where a sitemap lists every URL for crawlers and robots.txt says what bots may fetch, llms.txt says "if you only read a few pages, read these, and here is what each one covers". It is most common on developer documentation, where a model answering a coding question benefits from a direct path to the right reference page, but any site can publish one.
It is important to be clear about its status. llms.txt is a community proposal, not a web standard, and it is not part of robots.txt or the sitemap protocol. Google representatives have said publicly that Google Search does not use it. Some AI tools and coding assistants can read it when a user points them at a site, but no major AI search product has documented that it relies on the file. Publishing one is cheap and harmless; expecting it to change rankings or citations is not supported by evidence.
The llms.txt format, section by section
The proposal defines a small, predictable structure so that both people and programs can read the file. Only the first element is required. Everything else is recommended, and the order matters: title, summary, optional detail, then sections of links.
Each link line follows the same pattern: a Markdown list item, the page name in square brackets, the URL in round brackets, and optionally a colon followed by a few words about the page. Keeping to that pattern is what lets a program pull out the links reliably, which is why the checker flags list items inside link sections that do not match it.
- H1 title (required): one line starting with "# " that names the site or project.
- Summary blockquote: a line starting with "> " with a one- or two-sentence description of what the site offers.
- Detail paragraphs (optional): plain Markdown with any context a model should know, without headings.
- H2 link sections: headings starting with "## " such as Docs, Services or Guides, each followed by a list of "- [name](url): notes" lines.
- An "Optional" section: an H2 named Optional for links that can be skipped when a shorter context is needed.
What this checker tests, and why
First it confirms the file exists and is really a text file. A surprisingly common failure is a site that answers every unknown address with its home page and a 200 status, so /llms.txt appears to load but actually returns HTML. The checker detects that and reports the file as missing. It also notes the content type, because a file served as text/html instead of text/plain or text/markdown may be treated as a web page by tools that read it, and it flags redirects to a different path.
Next it parses the Markdown. It checks that the first non-empty line is an H1, warns if there are several H1 lines, and looks for the summary blockquote between the title and the first section. It counts the H2 sections and the links inside them, lists any list items that are not in link format, and warns about relative URLs such as /pricing, since a model reading the file on its own has no page to resolve them against. If none of the links has a description, it suggests adding short notes.
Finally it tests up to 10 absolute links with lightweight requests and reports any that return errors or do not respond, reports the size in characters with a rough token estimate (about four characters per token, which varies by model and language), and checks whether the site also publishes llms-full.txt. That second file is a convention some documentation platforms use to put the full text of their docs in one place; it is not part of the original proposal, so the checker reports it for information only.
How to write a useful llms.txt
Start with the questions people actually ask about your business or product, then pick the pages that answer them best: what you offer, pricing, how it works, key guides or documentation, contact and policies. A small business site might need fewer than twenty links. A documentation site might need more, but it should still be a curated list, not a copy of the sitemap. Put secondary material such as the blog archive, press pages or legal small print under the Optional heading.
Write the summary for a reader who has never heard of you. Say what you do, who it is for and where you operate, in plain language, without slogans. Then give each link a short, specific note: "plans, limits and what each tier includes" is far more useful than "pricing page". Use the same names you use on the site so the file and the pages agree, and keep the file updated when pages move, because a map full of broken links is worse than no map.
Some sites also publish a Markdown version of key pages, for example at the same address with .md added, and link to those from llms.txt so a model gets clean text without layout. That is part of the original proposal but optional, and it only makes sense if you can keep the Markdown copies in sync with the real pages.
How to publish llms.txt on common platforms
On any host where you can upload files, save the file as llms.txt in UTF-8 and place it in the web root, the same folder that holds robots.txt, so it loads at https://yourdomain.com/llms.txt. Most servers will serve a .txt file as text/plain automatically. Open the address in a browser afterwards: you should see the raw Markdown, not your home page.
On WordPress, upload it with your host's file manager or SFTP to the folder that contains wp-config.php, or use an SEO plugin that offers an llms.txt option; some, including Yoast SEO, can generate one for you. On hosted builders such as Shopify, Wix or Squarespace, you may not be able to place arbitrary files at the root, so check the platform's current documentation or app store before you plan around it.
If your site is behind a CDN or security service, make sure /llms.txt is not cached as an HTML error page and is not blocked for the AI crawlers you want to reach it. Run this checker again after publishing to confirm the file loads, parses cleanly and that its links work.
llms.txt, robots.txt and what actually affects AI visibility
llms.txt does not grant or deny access to anything. If you want to allow or block AI crawlers, that is done in robots.txt, and at the server or CDN level for bots that ignore it. A site that blocks OAI-SearchBot or PerplexityBot in robots.txt will not be fetched by them regardless of what llms.txt says.
The factors with clearer evidence behind them are the same ones that help ordinary search: pages that crawlers are allowed to fetch, content present in the HTML without needing JavaScript, clear headings and direct answers, accurate structured data, and a site people trust and link to. Use our AI Crawler Checker to review robots.txt rules for AI bots and the AI Content Visibility Checker to see how a single page reads to them, then treat llms.txt as a tidy, low-cost extra on top.
Examples you can copy
A minimal valid llms.txt
# Example Plumbing Co.
> Licensed plumbers serving Austin, Texas: emergency repairs, water heaters and drain cleaning for homes and small businesses.
## Services
- [Emergency plumbing](https://example.com/emergency): 24/7 call-outs, response times and pricing
- [Water heaters](https://example.com/water-heaters): repair, replacement and tankless options
## Optional
- [Blog](https://example.com/blog): maintenance tips and seasonal advice
A documentation-style llms.txt with detail notes
# Acme API
> REST API for sending invoices and collecting card payments.
All endpoints use JSON and require an API key in the Authorization header.
## Docs
- [Quickstart](https://docs.example.com/quickstart.md): create a key and send a first invoice
- [Authentication](https://docs.example.com/auth.md): keys, scopes and rotation
- [Webhooks](https://docs.example.com/webhooks.md): events, retries and signature checks
## Optional
- [Changelog](https://docs.example.com/changelog.md): release history
Common mistakes the checker flags
Example Plumbing Co. <- no '# ' so there is no H1
## Services
- Emergency plumbing <- not in [name](url) form
- [Pricing](/pricing) <- relative URL
Common mistakes to avoid
Pasting the whole sitemap
llms.txt is meant to be a curated shortlist. Hundreds of links with no notes give a model no more help than the sitemap already does.
Serving the home page instead of the file
If /llms.txt returns your HTML home page with a 200 status, tools see a web page, not your file. Upload the file to the web root and test the address.
Expecting a ranking boost
There is no evidence llms.txt affects Google rankings, and Google has said it does not use it. Do not neglect crawlable content and robots.txt rules in its favour.
Letting links go stale
Moved or deleted pages turn the file into a list of errors. Re-check it whenever you restructure the site.
Frequently asked questions
There is no evidence it affects Google rankings, and Google has said it does not use it. Treat it as an optional extra for AI tools and agents that choose to read it. Crawlable, server-rendered pages matter far more.
At the root of your domain, so it loads at https://yourdomain.com/llms.txt, served as plain text. On WordPress, upload it to the folder that holds wp-config.php or use an SEO plugin that offers the file.
No. It is a proposal published at llmstxt.org in 2024. It has no formal standards body behind it, and support depends entirely on which tools choose to read it.
No. It only describes your site. To allow or block AI crawlers, use robots.txt rules for each bot, and server or CDN rules for bots that ignore robots.txt.
llms.txt is a short guide with links. llms-full.txt, a convention used by some documentation platforms, contains the full text of the docs in a single file so a tool can load everything at once.
There is no fixed limit. Keep it focused on the pages that answer the most common questions about your site, and move secondary links under an Optional heading.
Learn more
- What Is llms.txt and Do I Need One for My Website? llms.txt is a proposed Markdown file that summarises your site for AI tools. Google Search ignores it, so most businesses do not need one. See when it helps.
- Block or Allow AI Crawlers? GPTBot, ClaudeBot and More Should you block AI crawlers like GPTBot, ClaudeBot and PerplexityBot? Learn which bots train models, which power AI search, and what each block costs you.
- How ChatGPT Search Chooses Sources: The Mechanics Explained How ChatGPT search chooses sources to cite: OAI-SearchBot, search partners, query rewriting and freshness, plus what you can control and how to track referrals.
Free website audit
See how your site scores, free
Speed, SEO, DNS, email (SPF/DKIM/DMARC) and security in one scan, with a prioritised fix list.