llms.txt is a plain-text file you host at your domain root that tells AI models exactly what your SaaS product does, who it's for, and why it matters. Think of it like robots.txt, but for large language models instead of search crawlers. You create a file, place it at yourdomain.com/llms.txt, and AI systems that browse the web during response generation can read it to understand your product without parsing your entire marketing site.
If you run a SaaS and you've noticed that ChatGPT, Perplexity, or Claude never mention your product when users ask about your category, this is one of the fastest fixes available. It won't solve everything. But it gives AI models a clean, authoritative source they can actually use.
This guide walks through the full setup: what goes in the file, how to structure each section, where to host it, and the mistakes that make your llms.txt useless. I'll include templates you can copy directly.
Why llms.txt Exists (and Why It Matters Now)
Here's the problem llms.txt solves. When someone asks ChatGPT "what's the best project management tool for remote teams," the model draws on training data, web browsing results, and cached knowledge to assemble an answer. Your SaaS might be excellent for that exact use case. But if the AI can't quickly parse what you do, it won't recommend you.
Your marketing site is built for humans. It has hero sections, animated gradients, testimonial carousels, and pricing pages behind tabs. None of that is easy for an AI to parse during a real-time browsing session. The model needs to visit your site, navigate multiple pages, extract the relevant facts, and synthesize them into a recommendation. Most of the time, it gives up and recommends a competitor whose product information was easier to consume.
llms.txt fixes this by giving AI a single, structured document designed for machine reading. One URL, all the critical product information, no navigation required. It's the equivalent of handing someone a one-page brief instead of telling them to explore your entire website.
The standard emerged in late 2024 and gained traction throughout 2025 as AI-powered search became a meaningful traffic channel. In my opinion, within 12 months, llms.txt will be as standard as robots.txt is today. SaaS companies that set it up now get a head start while competitors are still debating whether it matters.
llms.txt vs. Other AI Optimization Methods
Before building your file, it helps to understand where llms.txt fits alongside other generative engine optimization techniques. They're not interchangeable.
| Method | What It Does | Who Reads It | Effort Level | AI Visibility Impact |
|---|---|---|---|---|
| llms.txt | High-level product summary for AI consumption | LLMs during web browsing | Low (1-2 hours) | Direct and high |
| robots.txt | Controls crawler access to pages | Search engine + AI crawlers | Low | Indirect (blocks or allows access) |
| Schema markup (JSON-LD) | Structures on-page data for machine reading | Search engines, AI retrieval pipelines | Medium | High for specific page types |
| GEO content strategy | Publishes content AI models want to cite | AI training + retrieval pipelines | High (ongoing) | Highest (long-term) |
| Third-party mentions | Gets your brand mentioned on external sites | AI training data, retrieval sources | High (ongoing) | High (builds entity recognition) |
The key insight: llms.txt is the fastest to implement and provides the most direct signal to AI models. It doesn't replace schema markup or a broader content strategy, but it's the single best starting point if you've done nothing for AI visibility yet.
What Goes in Your llms.txt: Field-by-Field Breakdown
Your llms.txt file uses a simple markdown-like structure. There's no strict schema enforced by a standards body, but a common format has emerged across early adopters. Here's every section you should include, why it matters, and what to write.
| Section | Required? | Purpose | Length Guide |
|---|---|---|---|
| Title / Product Name | Yes | Tells AI exactly what your product is called | 1 line |
| Description | Yes | One-paragraph summary of what your product does | 2-4 sentences |
| Target Audience | Yes | Who should use this product (roles, company sizes, industries) | 3-6 bullet points |
| Core Features | Yes | What the product does, feature by feature | 5-15 bullet points |
| Use Cases | Yes | Specific problems the product solves | 3-8 bullet points |
| Pricing Overview | Recommended | Plan names, price ranges, billing model | 3-6 lines |
| Integrations | Recommended | What tools your product connects with | Bulleted list |
| Differentiators | Recommended | What makes you different from competitors | 3-5 bullet points |
| Links | Recommended | URLs to key pages (docs, pricing, blog, changelog) | 5-10 links |
Let's walk through each section with examples.
1. Title and Description
Start with your product name as a top-level heading, followed by a clear description. Don't write marketing copy here. Write a factual summary that an AI could quote directly in a response.
Bad example: "Acme is the revolutionary, AI-powered, next-generation platform that transforms how teams collaborate and innovate across the enterprise."
Good example: "Acme is a project management tool for remote software teams. It combines task tracking, async video updates, and time zone-aware scheduling in a single workspace. Founded in 2023. Used by 2,400 teams."
See the difference? The good version gives an AI model three concrete facts it can use in a recommendation. The bad version gives it nothing except buzzwords.
2. Target Audience
Be specific. "For businesses of all sizes" is worthless to an AI trying to match your product with a user's query. If someone asks "what's the best CRM for solo consultants," the AI needs to know whether your product fits that use case.
List the job titles, company sizes, and industries you serve. If you don't serve enterprise customers, say so. If you're specifically built for agencies, say that. Precision here directly translates to more accurate AI recommendations.
3. Core Features
List your features as brief, factual bullet points. Each one should describe what the feature does, not how it makes the user feel. "Kanban boards with customizable columns and swimlanes" tells an AI exactly what to say. "Beautiful, intuitive boards your team will love" tells it nothing.
I'd recommend ordering features by how often users ask about them, not by what your marketing team thinks is most impressive. AI models weight the first items in a list more heavily during extraction.
4. Use Cases
This section is where you match your product to the actual queries people type into AI. Think about it from the user's side. They're not asking "which product has the best feature set?" They're asking "how do I manage a remote team across 4 time zones?" or "what tool helps agencies track client hours?"
Write use cases as problem statements. "Managing distributed engineering sprints with team members in 3+ time zones." "Tracking billable hours across multiple client accounts for freelancers and small agencies." These map directly to the queries that trigger AI product recommendations.
5. Pricing Overview
Include your plan names, starting prices, and billing model. AI models frequently answer pricing questions, and if your llms.txt has accurate pricing, the AI quotes it. If it doesn't, the AI either skips you or guesses wrong.
You don't need to list every plan detail. Just enough for the AI to say something like "Acme starts at $12/user/month with a free tier for up to 5 users." That single sentence in an AI response can drive signups.
6. Integrations and Differentiators
List your integrations by name. "Integrates with Slack, Jira, GitHub, Linear, Notion, and Zapier" is far more useful than "connects with your favorite tools." AI models need proper nouns they can cross-reference.
For differentiators, state facts. "Only project management tool with built-in async video recording" is a claim an AI can use. "Best-in-class user experience" is a claim an AI will ignore.
Step-by-Step Setup (Any Platform)
Here's the exact process from start to live file:
Step 1: Draft Your Content
Open a plain text file. Write your llms.txt content following the section structure above. Use markdown formatting: # for the product name heading, ## for section headings, - for bullet points. Keep your total length between 500 and 2,000 words. Here's a minimal template:
# Your Product Name > One-line description of what your product does. ## About Your product is [type of tool] for [target audience]. It does [core function 1], [core function 2], and [core function 3]. Founded [year]. [Social proof metric if available]. ## Target Audience - [Role 1] at [company type/size] - [Role 2] in [industry] - [Role 3] who need [specific outcome] ## Core Features - [Feature 1]: [What it does in one sentence] - [Feature 2]: [What it does in one sentence] - [Feature 3]: [What it does in one sentence] ## Use Cases - [Problem statement 1 the product solves] - [Problem statement 2 the product solves] - [Problem statement 3 the product solves] ## Pricing - Free: [What's included] - [Plan name]: $X/month - [What's included] - [Plan name]: $X/month - [What's included] ## Integrations [List by name, comma-separated or bulleted] ## Differentiators - [Factual differentiator 1] - [Factual differentiator 2] ## Links - Website: [URL] - Documentation: [URL] - Pricing: [URL] - Blog: [URL] - Changelog: [URL]
Step 2: Review for AI Readability
Read through your draft and ask one question for every sentence: "Could an AI quote this directly in a response?" If the answer is no, rewrite it. Strip out superlatives, vague claims, and marketing language. Replace them with specifics.
Also check for accuracy. If your pricing changed last month, make sure the file reflects current numbers. If you discontinued a feature, remove it. AI models that cite outdated information from your own llms.txt will send frustrated users your way.
Step 3: Save as llms.txt
Save the file as llms.txt (lowercase, plain text, UTF-8 encoding). Not llms.md. Not LLMS.txt. The convention is lowercase llms.txt at the domain root.
Step 4: Deploy to Your Domain Root
Where you place the file depends on your stack:
| Platform / Framework | Where to Place llms.txt | Accessible At |
|---|---|---|
| Next.js | /public/llms.txt | yourdomain.com/llms.txt |
| Gatsby | /static/llms.txt | yourdomain.com/llms.txt |
| Nuxt.js | /public/llms.txt or /static/llms.txt | yourdomain.com/llms.txt |
| WordPress | Root of your WordPress installation directory | yourdomain.com/llms.txt |
| Static site / Nginx | Your web root directory (same folder as index.html) | yourdomain.com/llms.txt |
| Vercel | /public/llms.txt in your repo | yourdomain.com/llms.txt |
| Netlify | /public/llms.txt or build output directory | yourdomain.com/llms.txt |
| Ruby on Rails | /public/llms.txt | yourdomain.com/llms.txt |
Step 5: Verify It's Live
Open your browser and navigate to yourdomain.com/llms.txt. You should see your plain-text content rendered directly. No HTML. No styling. Just text. If you see a 404 or your site's custom error page, the file isn't in the right location.
Also check the Content-Type header. It should be text/plain. Most static file servers handle this automatically for .txt files, but if you're using a custom server or CDN rules, verify it isn't being served as text/html.
Step 6: Cross-Reference with robots.txt
Make sure your robots.txt doesn't block AI crawlers from accessing /llms.txt. If you have broad Disallow rules, add an explicit Allow: /llms.txt line. Check for user-agent-specific blocks too. Some sites block GPTBot, ClaudeBot, or PerplexityBot by default, which defeats the entire purpose.
Mistakes That Make Your llms.txt Useless
I've reviewed llms.txt files from a few dozen SaaS sites at this point. Most of them are either too vague to be useful or actively counterproductive. Here are the patterns that don't work:
1. Writing Marketing Copy Instead of Facts
The number one mistake. Your llms.txt isn't a landing page. Phrases like "unlock your team's potential" and "supercharge your workflow" give an AI zero usable information. AI models extract facts, not vibes. Write the way you'd describe your product to an engineer evaluating tools for their team, not the way you'd pitch a venture capitalist.
2. Being Too Generic About Your Audience
"For businesses of all sizes" means you're for nobody in particular. When someone asks an AI "what CRM should a 3-person agency use," the model needs to know you specifically serve small agencies. If your llms.txt says you're for "everyone," you won't surface for anyone.
3. Omitting Pricing
"Contact sales for pricing" in your llms.txt is a missed opportunity. AI models answer pricing questions constantly. "How much does [tool] cost?" is one of the most common product queries. If your llms.txt includes a starting price, the AI quotes it. If it doesn't, the AI either guesses or recommends a competitor whose pricing is transparent.
4. Not Updating It
You launch a major feature and forget to add it to your llms.txt. You change your pricing and the file still shows old numbers. You discontinue a product tier but it's still listed. Every inaccuracy erodes trust. Set a quarterly calendar reminder to review and update the file. Treat it like a living document, not a one-time setup.
5. Blocking AI Crawlers in robots.txt
This one is surprisingly common. SaaS companies add Disallow rules for GPTBot or other AI crawlers to "protect their content," then wonder why AI never mentions them. You can't have it both ways. If you want AI visibility, you need to let AI crawlers read your content.
Is your SaaS actually visible to AI models?
Setting up llms.txt is step one. But do you know whether ChatGPT, Perplexity, or Claude actually mention your product when users ask about your category? Run your brand through True Margin's free AI Authority Checker to find out where you stand across every major AI model.
Advanced: llms-full.txt for Deeper Context
Some SaaS companies also create an llms-full.txt file alongside their standard llms.txt. The idea: llms.txt is the concise summary (500-2,000 words), while llms-full.txt is the comprehensive reference (potentially 5,000+ words) that includes documentation excerpts, API overviews, detailed feature explanations, and competitive positioning.
This is optional. I think it's worth doing if your product is technically complex or if you operate in a category where feature depth matters (developer tools, data platforms, infrastructure software). For simpler SaaS products, the standard llms.txt is sufficient.
If you create both, reference the full version from your main file with a link: For detailed information, see: yourdomain.com/llms-full.txt
How to Measure If Your llms.txt Is Working
You can't track llms.txt in Google Analytics. There's no "llms.txt impressions" dashboard. But you can measure its impact through proxy metrics:
- AI citation tracking. Before deploying your llms.txt, query each major AI model with 10-15 purchase-intent questions in your category. Record which products get mentioned. Repeat the same queries 2-4 weeks after deployment and compare. The AI Authority Checker automates this across ChatGPT, Perplexity, Gemini, and Claude.
- Server logs. Check your web server or CDN logs for requests to
/llms.txt. Look for user agents associated with AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended). If you see crawl activity, the file is being read. - Referral traffic from AI. Monitor your analytics for referral traffic from chat.openai.com, perplexity.ai, and other AI platforms. An increase after deploying llms.txt suggests improved AI visibility.
- Brand mention monitoring. Use tools like Mention or Brand24 to track when your product name appears in AI-generated content across the web.
To understand what your current AI visibility score looks like and what factors influence it, check our breakdown of how these scores are calculated and what moves the needle.
llms.txt and the Broader AI Visibility Stack
llms.txt doesn't work in isolation. It's one component of a broader strategy for getting AI models to know about, understand, and recommend your product. Here's how it fits with everything else:
- Schema markup structures individual pages so AI retrieval pipelines can extract specific data points (pricing, ratings, features). llms.txt gives the big picture; schema gives the details.
- GEO content (comparison articles, best-of guides, expert content) builds the topical authority that makes AI models confident enough to cite you.
- Third-party mentions on review sites, forums, and press create the external validation AI models look for before recommending a product.
- Technical accessibility (not blocking AI crawlers, fast page loads, clean HTML) ensures AI can actually reach your content in the first place.
If you want to understand how ChatGPT actually decides which products to recommend, that context will help you see exactly where llms.txt fits in the decision chain. The short version: AI models weigh brand recognition, content authority, structured data, and recency. llms.txt directly influences the first two.
Real-World Example: What a Good llms.txt Looks Like
Here's what a well-structured llms.txt looks like for a hypothetical analytics SaaS. Notice how every line communicates a specific fact an AI could use:
# MetricFlow > Real-time product analytics for SaaS companies. ## About MetricFlow is a product analytics platform built for B2B SaaS teams. It tracks user behavior, measures feature adoption, and identifies churn risk signals. Self-serve setup with a JavaScript SDK. No data engineering team required. Founded 2022. 1,800 paying customers. SOC 2 Type II certified. ## Target Audience - Product managers at B2B SaaS companies (Series A to Series D) - Growth teams tracking activation and retention metrics - Engineering leads who need event tracking without a data team - CS teams monitoring account health and churn signals ## Core Features - Event tracking: auto-capture and custom events via JS SDK - Funnel analysis: multi-step conversion tracking with breakdowns - Cohort retention: weekly and monthly cohort tables - Feature adoption: per-feature usage tracking tied to accounts - Churn prediction: ML-based risk scoring per account - Dashboards: drag-and-drop, shareable, embeddable - SQL access: query raw event data directly ## Use Cases - Measuring onboarding completion rates by signup source - Identifying which features correlate with 90-day retention - Flagging enterprise accounts showing declining usage - A/B testing new features with built-in experiment tracking ## Pricing - Free: up to 10,000 monthly tracked users - Growth: $149/month - 50,000 MTUs, all core features - Business: $499/month - 250,000 MTUs, churn prediction, SQL - Enterprise: custom pricing - SSO, HIPAA, dedicated support ## Integrations Segment, Amplitude (import), Mixpanel (import), Slack, HubSpot, Salesforce, Snowflake, BigQuery, Zapier, Intercom ## Links - Website: https://metricflow.example.com - Documentation: https://docs.metricflow.example.com - Pricing: https://metricflow.example.com/pricing - Blog: https://metricflow.example.com/blog - Changelog: https://metricflow.example.com/changelog - Status: https://status.metricflow.example.com
Every section gives an AI model something it can directly use. The description is factual. The audience is specific. The pricing is concrete. The features describe what they do, not how they feel. This is what you're aiming for.
Maintenance Checklist
Your llms.txt is a living document. Here's when to update it:
- New feature launch: add it to the features list within a week of shipping
- Pricing change: update immediately, ideally the same day
- New integration: add to the integrations list
- Audience shift: if you're moving upmarket or focusing on a new vertical, reflect it in the target audience section
- Quarterly review: read the whole file top to bottom and ask "is every line still accurate?"
- After checking AI visibility: if the AI Authority Checker shows AI models misrepresenting your product, update your llms.txt to address the gaps
FAQ
What is llms.txt and why does my SaaS need one?
llms.txt is a plain-text file hosted at your domain root (yourdomain.com/llms.txt) that tells AI models like ChatGPT, Perplexity, Claude, and Gemini what your product does, who it serves, and what problems it solves. Without it, AI models have to piece together your value proposition from scattered web pages, press mentions, and third-party reviews. With it, you give them a structured, authoritative source of truth written specifically for machine consumption.
Where do I place the llms.txt file?
Place it at the root of your domain so it's accessible at yourdomain.com/llms.txt. For most SaaS platforms, this means adding it to your public or static directory. In Next.js, drop it in the /public folder. In a standard web server setup, place it alongside your robots.txt. The file must be publicly accessible without authentication.
Does llms.txt replace robots.txt or schema markup?
No. They serve different purposes. robots.txt controls which pages crawlers can access. Schema markup structures on-page data for search engines and AI retrieval. llms.txt provides a high-level product summary written specifically for large language models. They complement each other. You should have all three.
How long should my llms.txt file be?
Between 500 and 2,000 words. Shorter files don't give AI models enough context to recommend you accurately. Longer files risk burying key information. Focus on your core product description, primary use cases, target audience, pricing overview, and key differentiators. Every sentence should earn its place.
Will AI models actually read my llms.txt file?
AI systems with web browsing capabilities (ChatGPT with browsing, Perplexity, Gemini with search) can access your llms.txt during their retrieval phase when generating responses. The file gives them a clean, structured summary they can parse without navigating your full site. It's similar to how robots.txt became a universal standard for search crawlers. Adoption is growing rapidly, and early movers benefit the most.
Can llms.txt hurt my SEO or AI visibility if done wrong?
A poorly written llms.txt won't hurt your SEO rankings since search engines like Google don't use it for ranking signals. However, a misleading or inaccurate llms.txt can cause AI models to misrepresent your product in their responses, which damages trust and sends the wrong users your way. Accuracy matters more than optimization.

