How to Create an llms.txt File (Guide + Generator)
A practical walkthrough of llms.txt — what it is, why ChatGPT, Claude, and Perplexity read it, and how to write one that gets your site cited.
If you want ChatGPT, Claude, or Perplexity to cite your site — not just crawl past it — you need an llms.txt file. It is the simplest, highest-leverage AEO (Answer Engine Optimization) move you can make in 2026, and most sites still do not have one.
This guide explains what llms.txt is, the exact format the spec requires, what to put in yours, and how to publish it in under 10 minutes.
What is llms.txt?
llms.txt is a plain Markdown file placed at the root of your domain (e.g. https://yoursite.com/llms.txt). It tells large language models — the engines behind ChatGPT search, Claude, Perplexity, Copilot, and Gemini — what your site is about and which pages are worth reading.
It is not the same as robots.txt. robots.txt tells crawlers what they can fetch. llms.txt tells AI models what they should read first to understand you.
The format was proposed at llmstxt.org and is now widely supported by AI crawlers and developer tooling.
Why it matters
Modern AI assistants do not have time (or context budget) to render your JavaScript shell, follow every internal link, and figure out which pages are canonical. When they hit llms.txt, they get:
- A one-line summary of who you are
- A curated list of the pages that best represent your product, docs, and content
- Clear hints about what is "core" vs. "optional"
The result: when a user asks ChatGPT or Claude a question your site answers, you are far more likely to be the source it cites.
The llms.txt format
The spec is intentionally strict. Keep it flat — no nested headings beyond ##, no HTML.
# Site name
> One-line summary of what the site does.
A short paragraph (optional) with more context — who it's for, what's unique.
## Docs
- [Getting Started](/docs/getting-started): How to set up your first project
- [API Reference](/docs/api): Full endpoint documentation
## Pages
- [Pricing](/pricing): Plans and pricing
- [About](/about): Company background
## Optional
- [Changelog](/changelog): Release notes
- [Press kit](/press): Logos and media assets
Required:
# Site name(H1) — exactly one- Link sections under
## Headings(H2) with bulleted- [Title](/path): descriptionlines
Recommended:
- A blockquote
>summary directly under the H1 - An
## Optionalsection at the end for nice-to-have links the crawler can skip when context is tight
What to put in your llms.txt
Walk your site map and ask: "If a model only read 10–20 pages, which ones would let it accurately answer questions about us?" Typical sections:
- Docs — product documentation, KB articles, integration guides
- Pages — pricing, features, about, contact
- Blog — your best evergreen posts (not every post)
- Examples — case studies, demos, templates
- Optional — changelog, legal, press
Exclude: admin pages, auth flows (/login, /signup), per-user dashboards, API endpoints, webhooks, and anything behind a login. Models do not need them, and listing them can leak surface area.
Publishing the file
The file is served as a static asset at the root of your domain. On most stacks:
- Vite / React / Next.js: drop the file in
public/llms.txt. It will be served at/llms.txt. - WordPress: upload to the site root via FTP, or use a plugin that maps custom files.
- Webflow / Framer / Shopify: use the platform's "custom code" or "static files" feature, or proxy through a redirect.
Verify by visiting https://yourdomain.com/llms.txt in a browser — you should see your raw Markdown, not a 404.
A real example
Here is a trimmed version of what Next Day Sales ships at /llms.txt:
# Next Day Sales
> Interactive pricing pages, proposals, and AI-ready answer search for service businesses.
Next Day Sales helps agencies and service businesses turn quote requests into closed deals — with hosted pricing calculators, unbranded Reps, AI-powered site search, and a single inbox for every lead.
## Product
- [How it works](/how-it-works): Tour of pricing pages, proposals, and Insights
- [Features](/features): Full feature list
- [Pricing](/pricing): Plans and per-site pricing
## For agencies
- [Agencies](/agencies): Manage many client sites under one workspace
## Guides
- [llms.txt guide](/blog/llms-txt-guide): How to write an llms.txt file
- [Get cited by ChatGPT, Claude, Perplexity](/blog/meet-insights-aeo-seo-cro-audits)
## Optional
- [Blog](/blog): All posts
- [Changelog](/changelog): Recent updates
Generate yours in one click
Writing llms.txt by hand is fine for small sites, but if you have more than a handful of pages, use a generator. Inside Next Day Sales, every site gets an Insights tab that:
- Crawls your published pages and groups them by section
- Drafts a spec-compliant
llms.txtyou can edit - Flags missing pieces (no summary, no Docs section, links that 404)
- Tells you when AI crawlers like GPTBot, ClaudeBot, and PerplexityBot actually fetch the file
If you are not a customer, you can still copy the example above as a starting point — it works for any site.
Common mistakes
- Treating it like a sitemap. A sitemap lists every URL.
llms.txtis curated. Be picky. - Linking gated pages. If a page requires login, leave it out.
- Nested headings.
###is not in the spec. Stick to#and##. - Forgetting the summary. The
>blockquote is what models quote when they introduce you. Write it carefully. - Set-and-forget. Update
llms.txtwhenever you ship a major feature or new pillar content.
What it does not do (yet)
llms.txt is a hint, not a contract. It does not:
- Force a model to cite you
- Block training (use
robots.txtfor that) - Replace structured data (JSON-LD for Organization, FAQ, Product still matters)
Pair it with robots.txt rules that allow GPTBot, ClaudeBot, PerplexityBot, and Google-Extended, plus FAQ and Organization JSON-LD on your key pages, and you are doing the AEO basics better than 95% of sites.
TL;DR
- Create
public/llms.txt - Add
# Site name, a>summary, and 2–5##sections of curated links - Deploy and verify at
yourdomain.com/llms.txt - Update it when you ship something important
That is the whole job. Most sites are still ignoring it, which is exactly why doing this today is one of the highest-ROI 10 minutes you can spend on AI search visibility.