What llms.txt is and why it matters
The llms.txt file is a convention proposed by llmstxt.org that provides a curated, machine-readable index of a website's most important documentation. Think of it as robots.txt but for AI assistants instead of web crawlers. When an LLM-based tool needs to answer questions about your project, it can fetch `https://example.com/llms.txt` to discover which pages to read: the quick start guide, API reference, examples, and changelog. This replaces the current approach where LLMs rely on web search results that may surface outdated or irrelevant pages.
The llms.txt Generator at /developer-tools/generators/llms-txt-generator lets you compose this file through a form interface. You enter your project name, a one-line summary, and a list of links with titles, URLs, and descriptions. The tool renders the output as Markdown, which you can copy or download as `llms.txt` and place at the root of your website.
llms.txt vs robots.txt vs sitemap.xml
robots.txt tells web crawlers which pages they may or may not index.
sitemap.xml tells crawlers which pages exist and how often they change.
llms.txt tells LLMs which documentation pages are most important and what each one covers.
The three files serve complementary purposes. robots.txt controls access, sitemap.xml enables discovery, and llms.txt enables understanding. A well-maintained site should have all three at its root. The llms.txt file uses Markdown formatting, making it both human-readable and easily parseable by LLMs.
Which links to include
The goal is to give an LLM the minimum set of pages needed to answer most questions about your project. Prioritize these types of content:
Getting started or quick start guide.
API reference or configuration documentation.
Code examples and tutorials.
Changelog or release notes for version-aware answers.
Architecture overview for high-level understanding.
Avoid linking to marketing pages, blog posts about company news, or pages behind authentication. The LLM needs factual, comprehensive documentation, not promotional content. Each link should have a short description that tells the LLM what it will find on that page.
The llms.txt file format
The file follows a simple Markdown structure. It starts with a top-level heading (`#`) containing the project name, followed by a greater-than blockquote (`>`) with the project summary. Below that, each link is listed as a Markdown link with a colon-delimited description: `Page Title: Short description of what this page covers.`. This format is easy for LLMs to parse and for humans to read.
The generator produces this exact format. You fill in the form fields, and the tool assembles them into properly formatted Markdown. There is no JSON schema to validate, no YAML to indent, and no XML to close. It is just Markdown, which every LLM already understands natively.
Step-by-step: generating your llms.txt
Enter your project name and a one-line summary describing what the project does.
Add links one at a time: for each, provide a title, the full URL, and a short description.
Review the generated Markdown preview to ensure the format and content are correct.
Click Copy to grab the Markdown or Download to save it as `llms.txt`.
Upload the file to the root of your website alongside `robots.txt` and `sitemap.xml`.
For related documentation tools, see /blog/readme-generator for project READMEs, /blog/gitignore-generator for repository exclusions, /blog/json-ld-builder for structured data markup, and /blog/markdown-preview for rendering Markdown.
Where to place llms.txt on your site
The file should live at the root of your domain: `https://example.com/llms.txt`. This mirrors the placement of `robots.txt` and `sitemap.xml`, making it discoverable by convention. Some LLM tools may check for this path automatically, similar to how search engines check for `robots.txt`. If you use a static site generator, place the file in your `public` or `static` directory so it is copied to the root during build.
If your documentation is hosted on a subdomain like `docs.example.com`, place the file at `https://docs.example.com/llms.txt` for that subdomain. The convention does not require a single canonical file; each subdomain can have its own.
How LLMs use llms.txt
When an LLM-powered assistant receives a question about your project, it can fetch `llms.txt` to learn which pages to read. Instead of relying on a web search that might return your 2019 blog post instead of your current API reference, the LLM gets a curated list of the pages you consider most important and up to date. This dramatically improves answer accuracy for project-specific questions.
The convention is still emerging, but early adopters include major open-source projects and documentation platforms. As more LLM tools adopt the pattern, having an `llms.txt` file becomes a low-effort, high-value investment in your project's discoverability.
Privacy: local generation only
Your documentation structure may reveal internal project details. Keeping generation client-side ensures this information stays on your device. Visit /about to learn more about EasyDevTools's privacy practices.
Frequently asked questions
Q: What is llms.txt?
A: A convention from llmstxt.org for providing LLMs with a curated index of your documentation, similar to robots.txt but for AI assistants. Place it at the root of your site.
Q: Which links should I include?
A: The most important pages: quick start, API reference, examples, and changelog. Think about what an LLM would need to answer questions about your project.
Q: Where do I put llms.txt?
A: At the root of your site, e.g., `https://example.com/llms.txt`, alongside `robots.txt` and `sitemap.xml`.
Q: Is the file uploaded?
A: No. The llms.txt is generated locally in your browser.