Supabase Pricing: What It Actually Costs at Scale
This guide explains Supabase's four pricing tiers and why the base subscription rarely reflects the final bill. It breaks down compute, disk, egress, and add-ons, compares Supabase to Firebase, PlanetScale and Neon, and walks through real-world scenarios from side projects to automation-heavy pipelines. It concludes with upgrade triggers and a budgeting template to forecast true production costs.

What Supabase Costs Right Now
Supabase pricing has four tiers: Free, Pro, Team, and Enterprise. Free offers a usage-capped tier with no subscription cost, Pro is the entry-level production plan (with compute and bandwidth billed on top of the base fee), Team adds compliance and access controls, and Enterprise is custom-priced for large-scale workloads. In every paid tier, the subscription line is rarely the final bill because compute and egress are billed separately. Current tiers and overage rates are laid out on Supabase's official pricing page, which is the best source to confirm exact figures before you commit.
Free gives you the full Postgres product but with caps that make it a prototype tier rather than a production one: a capped number of active projects, limits on database size, monthly active users, egress, and file storage, and automatic pausing after a period of inactivity. There are no daily backups or advanced disk configuration at this level.
Pro is the first production tier. Billing is organization-based, with paid plans including a compute credit that covers a Micro instance, plus daily backups and extended log retention, though pay-as-you-go charges apply once you pass included quotas for database size, egress, or monthly active users. Team keeps the same usage allowances as Pro but adds compliance and access controls, with longer backup retention. Enterprise pricing is custom for large-scale workloads and typically includes private networking and dedicated SLAs.
The headline price is only the starting point; what actually drives the bill is what gets added on top.
Supabase Pricing Tiers and Add-On Costs Breakdown
Supabase pricing confuses teams because the Pro plan's base subscription bills separately from per-project compute and metered usage, so real bills run higher once compute upgrades and egress kick in. With the full menu of plans and add-ons laid out, the real question is how these numbers play out once an actual workload hits them.
The common mistake is assuming the base subscription covers production. The pricing page notes that the first project is included and additional projects carry their own cost, and that paid plans include a monthly compute credit sized to cover one Micro instance, an allowance that offsets the smallest compute tier but not a larger instance or a second project. Billing documentation confirms each project includes a dedicated Postgres instance and you are charged for compute independent of database usage. Compute is billed hourly per project, scaling from a small shared-RAM Micro instance up through dedicated multi-core configurations at the top of the range.
| Plan/Add-on | What's Included | Where Costs Can Grow |
|---|---|---|
| Free | Unlimited API access | No backups or disk upgrades |
| Pro | First project included | Compute billed per project |
| Team | SSO, extended log retention, project-scoped roles | HIPAA paid add-on; custom domains extra |
| Compute — Micro / Small / Medium | Shared to dedicated RAM tiers | Billed hourly per project |
| Compute — Large and above | Multi-core, high-RAM configurations | Costs multiply with each project |
| Disk | Included IOPS and throughput, scalable up to large volumes | IOPS, throughput and size overages |
| Egress / Cached Egress / Storage | — | Traffic-heavy APIs, image delivery, backups drive overages |
| Add-ons | Custom domain per domain/project; point-in-time recovery by retention window | Each add-on billed per project; branching extra |
Beyond the subscription, four families drive growth:
Disk: General Purpose disk includes a base allowance before per-GB and per-IOPS overage charges apply, scaling up to large volume sizes. High Performance disk carries its own per-GB and per-IOPS rates, with higher durability guarantees.
Egress and storage: Pro and Team include a base allowance of egress, cached egress, and file storage before metered overage rates apply. User overages are billed per monthly active user beyond the included quota, and SSO is billed per MAU beyond its own included allowance.
Operational add-ons: Custom domains, point-in-time recovery, log drains, and advanced MFA phone verification are each billed as separate add-ons, typically per project or per domain per month. Check the pricing page for current rates since these shift independently of the base plan. Branching is billed per branch per hour.
Cost controls: Pro ships with spend cap enabled. Keep it and you stay within included quotas; disable it to pay for usage beyond quotas and let compute, disk, and egress scale.
The Pro plan's base subscription commonly understates real cost: a modest compute credit, a second project, a larger instance, or any egress beyond included quotas pushes typical production bills above the subscription line item, so budget for more than the base fee.
Supabase vs. Firebase vs. PlanetScale: Pricing Model Compared
Supabase, Firebase, and PlanetScale use three distinct pricing philosophies: Firebase meters every Firestore operation under its Blaze pay-as-you-go model with a free daily quota for reads and writes, PlanetScale charges resource-based compute and storage with a low-cost entry tier for single-node Postgres, and Supabase bundles Postgres into tiered plans with compute and bandwidth metered on top.
Firebase: pure usage metering
Firebase's Spark plan provides no-cost quotas that carry into Blaze. For Firestore Standard edition, that means a free allowance of stored data and monthly network egress, plus daily operation caps on reads and writes. Beyond that, Blaze bills per document read, write, and delete, per GiB stored, per GiB downloaded, and per function invocation and storage operation. Authentication includes a free tier of monthly active users before Identity Platform pricing applies. The model fits mobile-first and real-time apps where you want fine-grained control, but costs swing with chatty clients. Independent breakdowns of Firebase pricing note that small apps can stay near zero while heavy real-time workloads can climb quickly because the free quotas are enforced daily and usage is metered operation-by-operation.
PlanetScale: provisioned resources
PlanetScale's pricing is resource-based rather than operation-based. You pick an engine (Vitess MySQL, Neki sharded Postgres, or straight PlanetScale Postgres) and a topology: single-node for dev and low-traffic, or HA with a primary plus replicas across multiple availability zones. Storage is autoscaling block storage configured in-app, or local NVMe for the Metal tier. Network bandwidth includes a monthly allowance before per-GB overage charges apply. Backup storage, router/VTGate hours, and optional add-ons like SSO sit on top. You pay for what you provision even when idle, which makes costs predictable for steady workloads but less efficient for spiky jobs. Check the official pricing page for current tier rates.
Neon as the close Postgres-native alternative
Neon, like Supabase, is serverless Postgres with separate compute and storage billing, autoscaling and scale-to-zero. Where PlanetScale leans toward sharding and Vitess expertise, Neon and Supabase lean toward developer experience: branching, connection pooling, and usage-based compute minutes. For teams already committed to Postgres, Neon and Supabase feel closer than Firebase's document model.
Which model favors which project:
- Firebase: best when your product is a mobile or web app with real-time sync and you are comfortable metering reads/writes and caching aggressively.
- PlanetScale: best when you need MySQL or sharded Postgres at scale, want HA by default, and prefer predictable provisioned resources.
- Supabase + Neon: best when you want Postgres semantics, relational joins, and predictable tiered pricing that scales with database size and compute rather than per-document operations.
Knowing how the pricing models differ in theory is one thing; seeing what they mean in an actual running system is another.
Real-World Cost Scenarios: From Side Project to Production Automation
Supabase pricing in production moves from a no-cost Free plan to a paid Pro subscription, plus meters for compute, database size, egress, and monthly active users. A solo developer watching a prototype sit comfortably within Free limits one week, then push past them after onboarding real customer files the next, sees exactly when that shift happens.
Get practical guidance for Agencies, publishers, content teams, and businesses with repetitive workflows that rely on tools like n8n, Cloudflare, Supabase, PostgreSQL, Webflow, WordPress, or AI services (OpenAI, Claude). Ideal clients are those who need to automate research, writing, document processing, or operational handoffs but want a system that’s transparent, maintainable, and integrated with their existing stack—not a black-box solution..
Those pricing philosophies matter most once you map them onto an actual workload, which is where the numbers stop being abstract.
1. Side project staying on Free
You ship a personal tool or internal research helper with low traffic. It stays under the Free plan limits for database size, monthly active users, egress, file storage, and active project count. There's no subscription cost, but the project auto-pauses after a period of inactivity and needs a manual restore from the dashboard, which makes Free unusable for anything that must stay up.
2. Growing SaaS on Pro hitting real limits
You launch on Pro. With the smallest compute instance, the included compute credit typically covers it, so you pay close to the base subscription price while under the included storage and egress allowances.
Stepping up to a larger compute tier adds a modest net cost after the credit is applied. A database that grows past the included disk allowance adds metered storage charges per GB over. Serving egress beyond the included allowance adds metered charges per GB over. Stacked together, a moderately active production app commonly lands somewhere above the base subscription once compute, storage, and egress overages are added.
If monthly active users climb past the included quota, the overage is billed per MAU beyond that line, and this often becomes the largest surprise line before you upgrade to Team for SSO and support.
3. Automation-heavy pipeline that stresses size and bandwidth
An n8n pipeline that processes documents, runs daily research pipeline tooling, and syncs e-learning enrollment records writes far more rows than it creates logged-in users. MAU might stay low, but database size can reach tens of gigabytes and monthly egress can climb into the hundreds of gigabytes from downstream API reads and file deliveries.
On Pro, that kind of workload typically wants a mid-size compute tier, since jobs run continuously and Supabase does not scale to zero on Pro. Storage and egress overages stack on top of the compute cost once both exceed their included allowances, pushing the total well above the base subscription before file storage, cached egress, or optional add-ons like Point-in-Time Recovery are even factored in. Teams building this kind of PostgreSQL/Supabase-backed pipeline need to budget compute tier and egress around job volume rather than user count, which is the kind of workflow-first infrastructure planning that Hesham Mashhour - AI Content Systems automation builds are designed around.
Use this template to estimate your own bill before you commit to a tier:
| Field | What to enter | Example value |
|---|---|---|
| Monthly active users (current + 90-day forecast) | Count from Auth dashboard | Current count plus projected growth |
| Database size (GB) | SELECT pg_database_size + expected growth | Current size plus projected growth by a target date |
| Egress per month (GB) | Storage + API bandwidth from usage tab | Current monthly total |
| Cached egress per month (GB) | CDN delivery for Storage | Current monthly total |
| File storage (GB) | Storage bucket usage | Current bucket size |
| Compute tier needed | Peak RAM and connections during jobs | Smallest tier that covers peak load |
| Add-ons required | PITR, custom domain, log drains | Check current per-add-on rates on the pricing page |
Choosing the Right Supabase Plan for Your Workload
Choosing the right Supabase plan is a trajectory call, not a feature checklist: Free fits experiments with light data and user volume, Pro fits production apps that need always-on Postgres with room to grow, Team fits orgs that require SSO and SOC2, and Enterprise fits workloads that need private networking and custom SLAs.
The trade-off is that storage and bandwidth usually become the bottleneck before authentication does, so a project can feel safe on Free until pipelines and file serving push past the caps. With the cost patterns and vendor tradeoffs on the table, the last step is matching them to your own project's trajectory, reviewed against Supabase's official pricing and quota table, which stays current as limits shift.
How to map your workload to a plan
- Expected MAU: If you expect to stay well under Free's monthly active user quota with sporadic usage, Free is viable. If you are past that or need predictable login for paying users, Pro's higher MAU baseline is the production floor.
- Database size trajectory: Free includes a modest amount of storage per project. If your Postgres data will grow meaningfully in the next 1-2 quarters, plan for Pro's larger included disk allowance and the ability to scale storage without pausing.
- Egress and bandwidth pattern: Free includes a small egress allowance. If you serve images, exports, or feed automation jobs that read large result sets, Pro's much larger included egress is the first line of defense against throttling. Teams running n8n or similar pipelines writing structured data to Postgres should model egress off job volume, not user count.
- Compliance and team controls: If you need SOC2, ISO 27001, project-scoped or read-only roles, and SSO for the dashboard, Team is the entry point. If you need HIPAA as a paid add-on or PrivateLink, Enterprise is required.
Explicit upgrade triggers
- You approach Free's storage limit, pause after inactivity disrupts testing, or you need daily backups and longer log retention.
- You approach Free's MAU ceiling, or egress nears the limit on Free or the included allowance on Pro.
- You need to move from shared to dedicated compute for consistent latency, or you require SSO and certifications for procurement.
Avoid bill surprises by tracking actual disk, egress, and MAU weekly, leaving Pro's spend cap on until you have a forecast, and setting alerts for branching and log drain usage once you've added those add-ons. Decide on growth slope, not today's low watermark.
The decisive trigger to upgrade off Free isn't user count. It's hitting database size or egress limits first in most real projects.
Sources (2)
Frequently Asked Questions
Do I pay for compute separately for each project in the same organization?
Yes. An organization subscription covers platform access, but each project runs its own dedicated Postgres instance on its own server and incurs its own hourly compute charge independent of database usage. That is why a second project raises the bill even if total data and MAU stay flat. Details are in Supabase billing docs.
What actually happens when a Free project is paused for inactivity?
The data is kept, but the instance stops serving traffic until you manually restore it from the dashboard. Pausing makes Free unsuitable for production, scheduled jobs, or anything that must stay always-on.
How does the Pro spend cap work, and should I turn it off?
With spend cap on, you are limited to the included quotas for storage, egress, and MAU, so you avoid overages. Turn it off and you pay metered rates once you pass those allowances, which lets compute, disk, and bandwidth scale beyond the base quota.
Can I get SSO for the dashboard on Pro?
No. SSO for Supabase Dashboard is a Team plan feature, as listed on the official pricing table. Team keeps the same usage allowances as Pro but adds extended retention, project-scoped roles, and compliance features.
How is monthly active users counted for overage billing?
MAU counts distinct users who authenticate through Supabase Auth during the billing month. Once you pass the included quota for your plan, you are billed per additional active user, which can become the largest overage line for consumer apps.
What is the difference between database size and file storage?
Database size is your Postgres data measured by pg_database_size() plus growth, while file storage is objects in Storage buckets like images and exports. The dashboard tracks them separately, and each has its own included allowance and overage rate.
Why is egress often higher than storage on a Supabase bill?
Egress measures data leaving Supabase from API responses, Storage downloads, and CDN delivery, including cached egress. Workloads that stream large query results, serve images, or run frequent automation reads drive egress faster than stored bytes.
Are branching, custom domains, and point-in-time recovery included in Pro?
No, they are separate add-ons. Branching is billed per branch per hour, and custom domains are billed per domain per project per month. Point-in-time recovery, log drains, and phone verification are also billed per project, so check current rates on Supabase pricing.