What is llms.txt and does my app need one?
llms.txt is a simple file that tells AI tools what your site is and where the important pages are. Here is what it does, what goes in it, and how to add one today.
llms.txt is a small Markdown file you put at your site root that tells AI tools like ChatGPT, Claude, and Perplexity what your app is and where the important pages live. It is a plain-language map of your site, written for a machine in a hurry, so it can describe and recommend you accurately instead of guessing.
What is llms.txt in one plain sentence?
llms.txt is a single Markdown file that gives AI tools a short, honest summary of your site plus a curated list of your most important pages. Think of it as the elevator pitch you would hand a smart stranger who has thirty seconds and a hundred other tabs open. It is a proposed convention, not an official standard, so support varies. Adding one is low cost and easy to maintain.
What problem does it solve for AI tools reading your site?
It solves a context problem. When an AI tool tries to understand your app, it does not read your site the way you do. It grabs whatever it can, often skipping your nicely designed homepage hero and landing on a random page, a stale meta tag, or nothing at all. The result is the part you cannot see from the inside: the model confidently describes your app wrong, or leaves you out of an answer where you belonged.
This is the same blind spot that bites makers everywhere. You know your product so well that you assume anyone, human or machine, will get it. They will not. An llms.txt file is you saying the one true sentence out loud instead of hoping it gets inferred. We wrote about the wider pattern in how to get your app recommended by ChatGPT and Claude. llms.txt is the most concrete first step in that direction.
//Why "in a hurry" matters
AI tools work under a token budget, which is just a fancy way of saying limited attention. The cleaner and shorter your signal, the more likely the important part survives the trip. A 12-line llms.txt beats a sprawling one almost every time.
What should go in an llms.txt file (and what should not)?
Put in the smallest set of facts that lets a stranger describe you correctly: your name, a one-line summary, and a short list of your key pages each with a one-line description. The format is plain Markdown. Start with an H1 of your product name, then a blockquote summary, then short sections of links. Here is a practical checklist.
- ▸Your product name as a top-level heading.
- ▸A one-sentence summary in a blockquote: what it does and who it is for, in plain words.
- ▸Your key pages as a linked list, each with a short description (home, pricing, docs, key features, contact).
- ▸Anything that builds trust honestly: who runs it, whether reviews are labeled, what is public versus private.
- ▸Links to machine-friendly versions of important pages, like a
pricing.md, if you have them.
What to leave out: marketing fluff, keyword stuffing, every blog post you ever wrote, and anything untrue. Stuffing keywords does not help and can make you look spammy to the same models you are trying to win over. If a line would not help a busy human understand you in two seconds, it will not help a machine either.
!Do not invent credibility here
llms.txt is read by tools that increasingly cross-check claims. Listing "trusted by thousands" when you have ten users does not earn trust, it spends it. Say what is true. If you are new, plainly being new is fine, and honesty reads as a signal, not a weakness.
Where do you put llms.txt and how do AI tools find it?
Put it at the root of your domain so the full URL is https://yoursite.com/llms.txt, the same place robots.txt lives. AI tools look for it by convention at that path. If your stack serves static files from a public or static folder, drop the file there and it will appear at the root automatically. Confirm it works by visiting the URL in your browser and checking you see plain text, not a 404 or your app shell.
- 1.Create a file named exactly
llms.txt(all lowercase). - 2.Place it in the folder your framework serves at the site root (often
public/orstatic/). - 3.Deploy, then open
https://yoursite.com/llms.txtin a browser to confirm it returns the raw text. - 4.Optionally add a longer
llms-full.txtlater if you want to include full page content, but start small.
How is llms.txt different from robots.txt and a sitemap?
They serve different readers and different goals. robots.txt tells crawlers what they are allowed to access. A sitemap lists every URL so search engines can find them all. llms.txt does neither of those. It explains and curates. It is the only one of the three that says what your site means and which pages matter most, in a sentence a model can quote.
- ▸robots.txt: permission. "You may or may not crawl these paths." A bouncer, not a guide.
- ▸sitemap.xml: inventory. "Here is every page that exists." Complete, but unranked and uncommented.
- ▸llms.txt: explanation. "Here is what we are, and the few pages you actually need." Curated and human-readable.
You can and should have all three. They do not compete. If you only have time for one new thing this week, llms.txt is the one most aimed at how AI tools read you. For the search-engine side, our SEO basics for makers covers sitemaps and the rest without the jargon.
What does a good, simple llms.txt example look like?
Here is a real, trimmed example in the shape we actually ship. Notice it is short, every line earns its place, and a stranger could describe the product correctly from the first three lines alone.
# Acme Invoices
> Simple invoicing for freelancers. Create, send, and track invoices
> in minutes. One-time setup, no accounting degree required.
Acme Invoices is run by Acme LLC. Pricing is one-time, no subscription.
## Pages
- [Home](https://acme.com/): what Acme Invoices is and how it works
- [Pricing](https://acme.com/pricing): plans and prices
- [Pricing (machine-readable)](https://acme.com/pricing.md): all tiers as plain text
- [Docs](https://acme.com/docs): how to set up and send your first invoice
- [Contact](https://acme.com/contact): support and questionsThat is enough. If a model reads only those lines, it now knows what you do, who it is for, what it costs, and where to send someone. Pairing it with a plain-text pricing file is a small extra win. See how to make your pricing readable by AI for why a pricing.md punches above its weight.
Is llms.txt enough on its own, or is it one piece of being citable?
It is one piece, not the whole. llms.txt helps a model understand you once it arrives, but it does not make models arrive, and it does not vouch for you. A file you wrote about yourself is a claim. What turns a claim into something an AI will repeat is independent signal: clear pages, a real third party describing you, and consistency across the web. The map matters, but so does the territory it points to.
Think of it as three layers. The first is being readable, which llms.txt and clean copy handle. The second is being correct, which means your own pages actually say what you do without insider shorthand. The third is being trusted, which is where an outside review and a badge come in, because models weight what others say about you more than what you say about yourself. We dig into that last layer in how reviews help AI find and recommend you.
The honest version: adding llms.txt today is a fifteen-minute job that removes one reason a model gets you wrong. It will not single-handedly get you recommended. But every day it is missing is a day some AI answer skips you or describes the wrong app, and that is a cost happening now, quietly, with no one telling you. Ship the file, then work on the pages and the proof. If you want a second opinion on how you read to machines, send us your app.
Want a second set of eyes on whether AI tools can actually read and trust your app? A quick review checks your pages, your copy, and whether you are set up to be found, then hands you a clear list.
Get my app reviewedFrequently asked questions
How do I create an llms.txt file? ▾
Create a plain text file named llms.txt, write an H1 with your product name, add a one-sentence summary in a blockquote, then list your key pages as Markdown links with short descriptions. Save it in the folder your framework serves at the site root, usually public or static, then deploy and check the URL loads.
Where do I put llms.txt? ▾
At the root of your domain, so it loads at https://yoursite.com/llms.txt, the same place robots.txt lives. Most stacks serve files from a public or static folder to the root automatically, so dropping it there works. After deploying, open the URL in a browser to confirm you see raw text and not a 404 or your app shell.
What is the difference between llms.txt and robots.txt? ▾
robots.txt controls what crawlers are allowed to access. llms.txt explains what your site is and which pages matter, in language a model can quote. One is permission, the other is context. They do not replace each other, and you can have both alongside a sitemap, which simply lists every URL you have.
Do I really need an llms.txt file? ▾
You do not strictly need one, and it will not single-handedly get you recommended. But it is a low-cost way to stop AI tools from misreading or skipping your app, and it takes about fifteen minutes. If you want AI assistants to describe you accurately, it is one of the easiest first steps available.
Is llms.txt an official standard? ▾
No. It is a proposed convention that a growing number of AI tools look for, not an official spec backed by a standards body. Support varies and may change. That is exactly why it is worth doing now: the cost is tiny, it cannot hurt, and it puts a clean signal in the place tools are starting to check.
Find out if AI tools can read and trust your app
A quick review checks your pages and copy and tells you, in plain English, what to fix so real people and the AI tools they ask both find you.
Get my app reviewedKeep reading
How Do I Get My App Recommended by ChatGPT?
When people ask AI assistants for a tool like yours, you want to be one of the answers. Here is how AI tools find and recommend apps, and how to make yours easy to cite.
How do I make my pricing readable by AI?
If an AI assistant cannot parse your pricing, it cannot tell a buyer what you cost. Here is how to publish pricing that both people and AI tools can read cleanly.
SEO basics for makers who would rather build
You do not need to become an SEO expert. A few basics decide whether anyone finds you. Here is the short, honest list that matters for a small app.
We put every SaaS through the same honest scorecard, then publish the result.