Skip to main content
Supabase offers flexible pricing based on your project needs. From free hobby projects to enterprise-grade infrastructure, you only pay for what you use.

Pricing Plans

Free Plan

Perfect for side projects, prototypes, and learning:

Database

  • 500 MB database space
  • Unlimited API requests
  • Unlimited Auth users
  • Community support

Storage & Functions

  • 1 GB file storage
  • 2 GB bandwidth
  • 500K Edge Function invocations
  • 2 projects maximum
Free projects automatically pause after 7 days of inactivity. Simply visit your dashboard to restore them instantly.

Pro Plan ($25/month per project)

Production-ready features:
  • 8 GB database (first 8 GB included, then $0.125/GB)
  • 100 GB storage (then $0.021/GB)
  • 50 GB bandwidth (then $0.09/GB)
  • 2M Edge Function invocations (then $2/million)
  • No project pausing
  • Daily backups with 7-day retention
  • Email support
  • Custom domains
  • Point-in-time recovery
  • SOC 2 compliance

Team Plan (Custom pricing)

For growing teams and applications:
  • Everything in Pro
  • 100 GB database per project
  • 250 GB bandwidth per project
  • 10M Edge Function invocations per month
  • Priority support with 1-hour response SLA
  • Read replicas
  • Daily backups with 14-day retention

Enterprise Plan (Custom pricing)

For organizations with advanced needs:
  • Custom resource allocation
  • 99.95% uptime SLA
  • 24/7 support with dedicated Slack channel
  • SAML SSO
  • Custom contracts and invoicing
  • Dedicated infrastructure
  • Advanced security and compliance
  • Database backups with custom retention
  • On-premise deployment options

Usage-Based Pricing

Beyond plan limits, you pay only for what you use:

Compute

Database CPU & Memory:
Instance SizevCPURAMPrice/hour
Micro21 GBIncluded
Small22 GB$0.01344
Medium24 GB$0.0206
Large28 GB$0.0822
XL416 GB$0.1517
2XL832 GB$0.2877
4XL1664 GB$0.562
8XL32128 GB$1.32
12XL48192 GB$1.94
16XL64256 GB$2.562
Compute is charged hourly. Scale up during peak hours and scale down during quiet periods to optimize costs.

Storage

Database Storage: $0.125 per GB/month
  • Automatic backups included
  • SSD-backed for high performance
  • Scales automatically
File Storage: $0.021 per GB/month
  • S3-compatible object storage
  • Includes redundancy
  • Image transformations included

Bandwidth

Egress (Outbound): $0.09 per GB
  • API responses
  • File downloads
  • Realtime connections
  • Edge Function responses
Ingress (Inbound): Free
  • File uploads
  • API requests
  • Database connections

Edge Functions

Invocations: $2 per million invocations (after free tier)
  • Includes up to 100ms CPU time per invocation
  • Additional CPU time: $0.00001 per GB-second
Function Count: First 10 functions free, then $10/month per additional 10 functions

Realtime

Concurrent Connections:
  • Free: 200 connections
  • Pro: 500 connections (included)
  • Additional: $10 per 1,000 connections/month
Messages:
  • 2 million messages free
  • Then $2.50 per million messages

Advanced Features

Point-in-Time Recovery (PITR): $100/month
  • Restore to any point in last 7 days (Pro) or 14 days (Team)
  • Essential for production databases
Read Replicas: Starting at $500/month
  • Deploy databases closer to users
  • Reduce query latency
  • Distribute read load
Custom Domains: Free on Pro plan and above
  • Use your own domain for APIs
  • Automatic SSL certificates
  • Multiple domains supported
IPv4 Address: $4/month (IPv6 free)
  • Dedicated IPv4 for your project
  • Required for some network configurations

Understanding Your Bill

Billing Cycle

Billing is calculated monthly:
  1. Subscription: Charged at the start of billing period
  2. Usage: Calculated throughout the month
  3. Invoice: Generated at the end of billing period
  4. Payment: Automatically charged to payment method

Usage Dashboard

Monitor usage in real-time:
1

Navigate to Usage

Open your organization dashboard and click “Usage” in the sidebar.
2

Select Time Period

View current billing period or historical usage.
3

Review Metrics

See breakdown by:
  • Database size and compute
  • Storage and bandwidth
  • Edge Function invocations
  • Realtime connections
  • Auth users and requests

Cost Estimation

Example monthly costs for a typical application:
Scenario: Personal blog with 1,000 visitors/month
  • Plan: Free ($0)
  • Database: 200 MB (free)
  • Storage: 500 MB images (free)
  • Bandwidth: 1 GB (free)
  • Functions: 10K invocations (free)
Total: $0/month

Cost Optimization

Database Optimization

Create indexes on frequently queried columns to improve performance and reduce compute usage.
CREATE INDEX idx_users_email ON users(email);
CREATE INDEX idx_posts_created ON posts(created_at DESC);
Move historical data to separate tables or external storage:
-- Archive posts older than 1 year
INSERT INTO posts_archive 
SELECT * FROM posts 
WHERE created_at < NOW() - INTERVAL '1 year';

DELETE FROM posts 
WHERE created_at < NOW() - INTERVAL '1 year';
Enable auto-vacuum to reclaim space:
-- Already enabled by default, but verify:
SHOW autovacuum;
Monitor CPU and memory usage. Scale down if consistently under 50% utilization.

Storage Optimization

Image Optimization:
  • Use Supabase image transformations instead of storing multiple sizes
  • Convert to WebP format for smaller file sizes
  • Enable lazy loading
// Generate optimized image URL
const imageUrl = supabase.storage
  .from('avatars')
  .getPublicUrl('avatar.jpg', {
    transform: {
      width: 200,
      height: 200,
      format: 'webp',
      quality: 80
    }
  })
File Lifecycle:
  • Delete unused files regularly
  • Set up automatic cleanup for temporary files
  • Use presigned URLs with expiration

Bandwidth Optimization

Enable Caching:
// Cache API responses
const { data } = await supabase
  .from('posts')
  .select('*')
  .limit(10)

// Cache in browser/CDN for 5 minutes
Response.headers.set('Cache-Control', 'public, max-age=300')
Pagination:
// Limit data transferred per request
const { data, count } = await supabase
  .from('posts')
  .select('*', { count: 'exact' })
  .range(0, 9) // Only fetch 10 records
Select Specific Columns:
// Only fetch needed columns
const { data } = await supabase
  .from('users')
  .select('id, name, email') // Don't fetch large columns

Edge Functions Optimization

Cold Starts:
  • Keep functions small and focused
  • Minimize dependencies
  • Use Deno’s built-in modules when possible
Execution Time:
// Use database functions for complex queries
const { data } = await supabase
  .rpc('complex_aggregation') // Runs in database

// Better than fetching all data and processing in function

Billing Management

Payment Methods

1

Add Payment Method

Navigate to Organization Settings → Billing.
2

Enter Card Details

Provide credit/debit card information. Supports Visa, Mastercard, and American Express.
3

Set as Default

Choose default payment method for automatic billing.

Spending Limits

Prevent unexpected charges:
When spending limit is reached, additional usage is disabled. Your project remains accessible but cannot exceed limits.
// Set spending limit via API
const limit = {
  maxMonthlySpend: 100, // USD
  alerts: [50, 75, 90] // Alert at 50%, 75%, 90%
}

Invoices & Receipts

Access Invoices:
  1. Organization Settings → Billing → Invoices
  2. Download PDF or view in browser
  3. Invoices sent to billing email automatically
Invoice Contents:
  • Subscription charges
  • Usage breakdown by resource
  • Credits and discounts applied
  • Tax information
  • Payment method

Credits & Discounts

Startup Program: Apply for credits if you’re in an accelerator or early-stage startup Open Source: Free Pro plan for qualifying open source projects Education: Special pricing for students and educators Referral Program: Earn credits by referring new users

Billing Support

Billing Questions

Email billing@supabase.com for invoice questions, payment issues, or plan changes.

Usage Optimization

Contact support for help optimizing your usage and reducing costs.

Enterprise Sales

Email enterprise@supabase.com for custom contracts and volume pricing.

Documentation

Visit docs.supabase.com for guides on optimizing your application.

Frequently Asked Questions

Yes, but ensure your projects fit within Free plan limits (500 MB database, 1 GB storage). Projects exceeding limits will be read-only until you upgrade or reduce usage.
On Free plan, some features may be rate-limited. On paid plans, you’re charged for overage based on usage pricing. Set spending limits to control costs.
Downgrade to Free plan or delete your projects. No cancellation fees. Unused time is not refunded but you retain access until period end.
Yes, contact sales@supabase.com for annual contracts with discounted pricing.
Refunds are handled case-by-case. Contact billing@supabase.com within 7 days of charge.

Next Steps

Usage Dashboard

Monitor your current usage and costs

Upgrade Plan

Scale your projects with Pro or Team

Cost Optimization

Learn how to reduce costs

Organizations

Manage team billing