How to Create an llms.txt File for Supabase (Full Guide + Example)
Make your Supabase project visible to AI systems like ChatGPT, Claude, and Perplexity. This guide shows you exactly how to create and deploy an llms.txt file for Supabase—with three different methods and a complete example you can copy.
If you're building with Supabase—whether it's a SaaS app, documentation site, or API service—you want AI systems to understand and accurately represent your project. That's where llms.txt comes in.
This guide walks you through creating an llms.txt file specifically for Supabase projects, with three deployment methods: Supabase Storage, Edge Functions, or using our free generator.
What you'll learn
- • What llms.txt is and why Supabase projects need it
- • A complete llms.txt example for a Supabase project
- • 3 methods to deploy: Storage, Edge Functions, or Generator
- • Best practices for Supabase-specific documentation
✅ Works with any Supabase setup
⚠️ Where does llms.txt go?
Most Supabase projects use Supabase for backend and Vercel/Netlify for frontend. In that case, place llms.txt in your /public folder on your frontend—not in Supabase. Only use Supabase Storage or Edge Functions if Supabase hosts your entire site.
# What is llms.txt?
llms.txt is a standardized file that helps AI systems understand your website. Unlike robots.txt (which controls access) and sitemap.xml (which lists URLs), llms.txt provides descriptions of what each page contains.
When someone asks ChatGPT "What does [your Supabase project] do?", the AI needs to understand your documentation, features, and pricing. Without llms.txt, AI often hallucinates—inventing features you don't have or quoting wrong prices.
❌ Without llms.txt
"I think this project might offer real-time subscriptions... but I'm not sure about the pricing."
✅ With llms.txt
"This project offers real-time subscriptions, auth, and storage. Free tier includes 500MB database. Pro starts at $25/month."
For a deeper dive, read our complete guide: What is llms.txt and how do you create one?
# Why Your Supabase Project Needs llms.txt
Supabase projects often include documentation, API references, pricing pages, and feature explanations. AI systems struggle to parse these complex pages—especially when they're JavaScript-rendered or behind authentication.
Documentation Sites
Help AI understand your API endpoints, SDKs, and integration guides
Pricing Pages
Ensure AI quotes accurate pricing and plan features
Feature Pages
Describe Auth, Storage, Realtime, Edge Functions, etc.
API References
Make your REST and GraphQL endpoints discoverable by AI
Fun fact: Supabase itself has an llms.txt file! Check it out at supabase.com/llms.txt. You can follow their example for your own project.
# Complete llms.txt Example for Supabase
Here's a complete, copy-paste example of an llms.txt file for a typical Supabase-powered SaaS application. Customize it for your specific project:
# YourApp - Built on Supabase
> YourApp is a [type of application] built on Supabase that helps
> [target audience] achieve [outcome]. We provide [key features]
> with real-time capabilities, secure authentication, and scalable
> infrastructure. Founded in [year], we serve [customer count] users
> across [regions/industries].
## Core Features
- [Dashboard](https://yourapp.com/dashboard): Main application
dashboard with real-time data visualization, user analytics,
and project management. Built with Supabase Realtime for
instant updates.
- [Authentication](https://yourapp.com/auth): Secure sign-up and
login powered by Supabase Auth. Supports email/password, magic
links, OAuth (Google, GitHub, Discord), and SSO for enterprise.
- [API](https://yourapp.com/api): RESTful API documentation with
endpoints for all core functionality. Auto-generated from
Supabase PostgREST with row-level security.
## Documentation
- [Getting Started](https://yourapp.com/docs/getting-started):
Quick start guide covering account setup, API key generation,
and first integration in under 5 minutes.
- [SDK Reference](https://yourapp.com/docs/sdk): Complete SDK
documentation for JavaScript, Python, and Flutter. Includes
code examples and type definitions.
- [Database Schema](https://yourapp.com/docs/schema): Database
structure documentation including tables, relationships, and
row-level security policies.
- [Edge Functions](https://yourapp.com/docs/functions): Guide to
our serverless functions for custom business logic, webhooks,
and third-party integrations.
## Pricing
- [Pricing](https://yourapp.com/pricing): Three tiers available:
- Free: Up to 500MB database, 1GB storage, 50K auth users
- Pro ($25/month): 8GB database, 100GB storage, unlimited auth
- Enterprise (custom): Dedicated infrastructure, SLA, support
## Resources
- [Blog](https://yourapp.com/blog): Technical tutorials, product
updates, and best practices for building with Supabase.
- [Changelog](https://yourapp.com/changelog): Recent updates, new
features, and improvements to the platform.
- [Status](https://status.yourapp.com): Real-time system status
and incident history.
## Support
- [Help Center](https://yourapp.com/help): FAQ, troubleshooting
guides, and common integration patterns.
- [Community](https://discord.gg/yourapp): Discord community with
5,000+ developers for questions and discussions.
- [Contact](https://yourapp.com/contact): Direct support via email
for Pro and Enterprise customers.
Key elements in this example:
Supabase-specific features
Mentions Auth, Realtime, PostgREST, Edge Functions, RLS
Concrete pricing
Specific numbers for database, storage, and auth limits
Developer resources
SDK docs, API reference, and database schema
Support channels
Help center, Discord community, and contact info
# Method 1: Deploy via Supabase Storage
The simplest method—upload llms.txt as a static file to Supabase Storage and serve it publicly. Best for projects with stable documentation that doesn't change frequently.
Create the llms.txt file locally
Create a file named llms.txt on your computer with your content (use the example above as a template).
Create a public Storage bucket
In your Supabase dashboard, go to Storage → Create bucket. Name it public and enable public access.
-- Or create via SQL:
INSERT INTO storage.buckets (id, name, public)
VALUES ('public', 'public', true);
Upload the file
Upload llms.txt to the root of your public bucket. The file will be available at:
https://[project-ref].supabase.co/storage/v1/object/public/public/llms.txt
Set up a redirect (optional)
If you have a custom domain, set up a redirect so yourdomain.com/llms.txt points to the Storage URL. You can do this in your frontend framework or via DNS/CDN rules.
# Method 2: Deploy via Edge Functions
For dynamic llms.txt content—maybe you want to pull from your database or update based on your latest docs—use a Supabase Edge Function.
import { serve } from "https://deno.land/std@0.168.0/http/server.ts"
const llmsTxtContent = `# YourApp - Built on Supabase
> YourApp is a [description]. We help [audience] achieve [outcome].
## Features
- [Dashboard](https://yourapp.com/dashboard): Real-time dashboard
- [API Docs](https://yourapp.com/docs/api): REST API reference
## Pricing
- [Pricing](https://yourapp.com/pricing): Free, Pro ($25/mo), Enterprise
`;
serve((req) => {
// Only respond to GET requests for /llms.txt
const url = new URL(req.url);
if (url.pathname === "/llms.txt" || url.pathname === "/llms-txt") {
return new Response(llmsTxtContent, {
headers: {
"Content-Type": "text/plain; charset=utf-8",
"Cache-Control": "public, max-age=86400", // Cache for 24 hours
},
});
}
return new Response("Not Found", { status: 404 });
});
Deploy the function:
# Create the function
supabase functions new llms-txt
# Deploy to production
supabase functions deploy llms-txt --project-ref your-project-ref
# Your llms.txt is now available at:
# https://[project-ref].supabase.co/functions/v1/llms-txt
Pro tip: You can make the Edge Function dynamic by querying your database for page titles and descriptions, then generating the llms.txt content on-the-fly.
# Method 3: Use Our Free Generator
The fastest way to create an llms.txt file for your Supabase project. Our free llms.txt generator automatically scans your sitemap, analyzes each page, and generates AI-optimized descriptions.
-
1
Go to llmstxtgenerator.org
Enter your Supabase project's domain
-
2
Wait ~30 seconds for AI analysis
We scan your sitemap and generate descriptions
-
3
Download your llms.txt file
First 20 URLs free, full file for $0.10/URL
-
4
Upload to Supabase Storage or your domain
Use Method 1 above to deploy
No signup required · Works with any Supabase project
# Best Practices for Supabase llms.txt
✓ Mention Supabase features explicitly
If you use Supabase Auth, Realtime, or Edge Functions, say so. AI systems can then accurately describe your tech stack.
✓ Include your database structure (if public)
If you have public API documentation that shows your schema, link to it with descriptions of key tables and relationships.
✓ Document your API endpoints
Supabase auto-generates REST APIs. Link to your API documentation and describe what each major endpoint does.
✓ Be specific about limits and pricing
"500MB database on free tier" is better than "generous free tier." Specific numbers help AI give accurate answers.
✗ Don't expose sensitive endpoints
Only include publicly accessible pages. Don't list admin dashboards, internal tools, or authenticated-only content.
✗ Don't forget to update it
When you add features, change pricing, or update documentation, regenerate your llms.txt to keep it current.
# Verify Your Deployment
After deploying, verify your llms.txt is accessible and formatted correctly:
Visit the URL directly
Go to yourdomain.com/llms.txt in your browser. You should see plain text, not HTML.
Check the Content-Type header
Should be text/plain. Check in browser DevTools → Network tab.
Test with curl
curl -I https://yourdomain.com/llms.txt
Ask AI about your project
Try asking ChatGPT or Claude about your product. With a good llms.txt, answers should be more accurate.
# Troubleshooting
Common issues when deploying llms.txt with Supabase and how to fix them:
❌ llms.txt shows 404
You likely uploaded to the wrong bucket or forgot to enable public access. In Supabase Storage, ensure the bucket is set to public: true and the file path is correct.
❌ File downloads instead of showing text
The Content-Type header is wrong. If using Edge Functions, ensure you return Content-Type: text/plain; charset=utf-8. Supabase Storage sets this automatically for .txt files.
❌ Edge Function URL includes /functions/v1
Use rewrites or redirects to map /llms.txt to your Edge Function URL. In Vercel, add a rewrite in vercel.json. In Netlify, use _redirects.
❌ Vercel/Netlify frontend overrides your file
Ensure your public/llms.txt exists and isn't blocked by route handlers or middleware. In Next.js, check that the file isn't being caught by a catch-all route.
❌ CORS errors when accessing llms.txt
If using Edge Functions, add appropriate CORS headers. For AI crawlers, this usually isn't an issue since they make server-side requests, but browser testing may fail without CORS.
# Frequently Asked Questions
Does Supabase have official llms.txt support?
Yes! Supabase itself has an llms.txt file at supabase.com/llms.txt. However, you need to create your own for your Supabase-powered projects.
Should I include my Supabase API keys in llms.txt?
Absolutely not. llms.txt is public. Never include API keys, secrets, or sensitive configuration. Only include publicly accessible information.
Can I use llms.txt with Supabase's built-in hosting?
If you're using Supabase for backend only with a frontend on Vercel/Netlify, put llms.txt in your frontend's public folder. If hosting on Supabase, use Storage or Edge Functions as described above.
How often should I update my llms.txt?
Update whenever you add features, change pricing, or significantly update documentation. At minimum, review quarterly. Use our generator to quickly regenerate.
What if my Supabase project is private/internal?
llms.txt is designed for public websites. If your project is internal or behind authentication, you likely don't need llms.txt—AI systems wouldn't be accessing it anyway.
Ready to Create Your Supabase llms.txt?
Use our free generator to create an AI-optimized llms.txt for your Supabase project in seconds. Works with any domain.
Generate Your llms.txt FreeNo signup required · First 20 URLs free