llms.txt is a plain-text Markdown file at yoursite.com/llms.txt that hands AI language models a curated summary of your site — who you are, what you offer, and links to your key pages — so they can understand and cite you accurately. Generate yours free →What is llms.txt?
llms.txt is a proposed open standard: a single Markdown file, placed at the root of your website, that gives large language models a concise, curated map of your site. Instead of forcing a model to crawl and infer meaning from your full HTML — ads, nav, scripts and all — you hand it a clean summary: a one-line description of your business, some context, and a linked list of the pages that actually matter.
Think of it as a table of contents written for machines. robots.txt tells crawlers where they may not go; llms.txt tells AI models where the good stuff is and what it means.
Why it matters
People increasingly ask ChatGPT, Claude, Perplexity and Gemini for recommendations instead of scrolling a results page. When a model answers, it draws on what it can retrieve and parse about you. Two problems are common:
- Models misread messy pages. Key facts — what you sell, where you are, your hours, your pricing — are often buried in markup or rendered by JavaScript the model never runs.
- Models infer, and inference is where errors creep in. A model guessing your specialty from scattered signals will sometimes guess wrong, or name a competitor it understood more clearly.
A well-written llms.txt reduces both. It states your facts plainly, in the format models are best at reading, and points to the pages you most want cited. It won't single-handedly get you recommended — crawler access, structured data and real authority still matter (see our GEO guide) — but it's low-effort, low-risk, and removes a whole class of "the AI got us wrong" problems.
The file format
The spec is deliberately simple. It's just Markdown, read top to bottom, with a light structure:
- An H1 with the name of your site or business. (Required.)
- A blockquote with a short, punchy summary of what you are. (Recommended.)
- Zero or more paragraphs of extra context — enough to orient a model, not a novel.
- H2 sections, each containing a Markdown list of links in the form
[Title](url): optional note.
A section named ## Optional is treated specially: those links can be skipped when a model needs a shorter context. Use it for nice-to-have pages.
A complete example
Here's a realistic llms.txt for a local business:
# Hagen Coffee Roasters
> Specialty coffee roaster and cafe in Portland, OR — small-batch single-origin
> roasts, a neighborhood espresso bar, and wholesale beans for local restaurants.
Open daily 7am–5pm at 1200 SE Alder St, Portland, OR 97214. Order beans online
with nationwide shipping. Known for our seasonal Ethiopian and Colombian roasts.
## Key pages
- [Menu & hours](https://example.com/menu): full drink and food menu, current hours
- [Shop beans](https://example.com/shop): single-origin and blend coffee, subscriptions
- [Wholesale](https://example.com/wholesale): bulk beans and cafe supply for businesses
- [Visit us](https://example.com/visit): address, parking, and directions
## Optional
- [Our story](https://example.com/about): how we source and roast
- [Blog](https://example.com/blog): brewing guides and origin notes
Notice what it does: names the entity, states the facts a customer (and a model) most needs — what, where, hours, shipping — and links the highest-value pages with a short note on each. A model reading this can answer "is there a specialty roaster in SE Portland that ships beans?" confidently, and cite the right page.
Where to put it
Save the file as llms.txt (all lowercase) and serve it at the root of your domain:
https://yoursite.com/llms.txt
That's the same level as robots.txt and sitemap.xml. It should return HTTP 200 with a text/plain (or text/markdown) content type. Test it by opening the URL in your browser — you should see the raw text, not a 404 or a redirect.
On most hosts you just drop the file in your public/root directory. On static hosts (Vercel, Netlify, GitHub Pages) place it in your public folder. On WordPress, upload it to the site root via FTP or a file manager (not the media library, which rewrites the path).
llms.txt vs. llms-full.txt vs. robots.txt
| File | Job | Who reads it |
|---|---|---|
robots.txt | Says which URLs crawlers may or may not fetch | All crawlers, incl. AI bots |
llms.txt | A curated summary + links to your key pages | AI language models |
llms-full.txt | An expanded version with full page content inlined, for models that want everything in one fetch | AI language models (large-context) |
Start with llms.txt. It delivers most of the value. Larger sites (docs, big catalogs) can add llms-full.txt later. And you still need robots.txt — critically, make sure it does not block the AI crawlers you want to reach you (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended). An llms.txt is useless if robots.txt slams the door first.
How to create one
Two paths:
Fast: use a generator
Our free llms.txt generator takes your site details and produces a valid, well-structured file you can paste straight into your root directory — no formatting to get wrong.
By hand
- Create a file named
llms.txt. - Add an H1 with your business name.
- Add a one- or two-sentence blockquote summary — what you do, for whom, where.
- Add a paragraph or two of the facts most likely to be asked (location, hours, shipping, specialties, pricing model).
- Add a
## Key pagessection listing 3–8 of your most important URLs, each with a short note. - Optionally add an
## Optionalsection for secondary pages. - Upload to your site root and confirm it loads at
yoursite.com/llms.txt.
Common mistakes
- Wrong location. It must be at the domain root, not
/blog/llms.txtor a subpage. - Not plain text. If your host serves it as HTML or forces a download, fix the content type to
text/plain. - Dumping the whole site. The value is curation. 3–8 high-value links beat 80.
- Stale facts. Wrong hours or a dead link in llms.txt teaches models the wrong thing. Keep it current.
- Blocking AI bots in robots.txt anyway. Check that too — it's the most common reason a site is invisible to AI regardless of llms.txt.
- Treating it as a silver bullet. It's one signal. Pair it with structured data and genuine authority.
Generate your llms.txt free
Answer a few questions and get a valid, ready-to-upload file in under a minute. Then scan your site to see every other AI-visibility gap.
Open the free generator →FAQ
What is llms.txt?
A plain-text Markdown file at the root of your site (yoursite.com/llms.txt) that gives AI models a curated summary of who you are, what you offer, and links to your most important pages — so they can understand and cite you accurately.
Where do I put the llms.txt file?
At the root of your domain, so it resolves at https://yoursite.com/llms.txt — the same place as robots.txt. It should return plain text with a 200 status.
Is llms.txt required? Does it actually work?
It's a proposed open standard, not a mandate, and adoption is still emerging. It's low-risk and helpful: a clean, factual summary reduces the chance models misrepresent you and complements structured data. Treat it as one signal among several, not a guarantee of citations.
How is it different from robots.txt?
robots.txt restricts which URLs crawlers may fetch; llms.txt proactively hands models a concise, curated summary of your best content. You want both — and you want robots.txt to allow the AI crawlers.
Can I create one automatically?
Yes — use our free generator to produce a valid file, or run a free scan to see whether your current setup is readable to AI at all.