# Supabase vs PlanetScale

Canonical: https://inetgeek.com/compare/supabase-vs-planetscale/

Every value below is read from Supabase's and PlanetScale's own documentation. See https://inetgeek.com/methodology/ for how.

## At a glance

| Criterion | Supabase | PlanetScale |
| --- | --- | --- |
| Free tier | Yes | No — $5/month is the cheapest SKU on PlanetScale's whole price list; the document prices no free plan. |
| Entry paid plan | $25/month for Pro, including the first project and $10/mo of compute credits — enough to cover one Micro instance, so this runs a small project rather than being a fee on top of it. Additional projects from $10/mo. | $5/month for a single-node Postgres database on network-attached storage; PlanetScale Metal with local NVMe starts at $50/month |
| Pricing model | Fixed monthly plan per organisation plus per-project compute, billed hourly by instance size | Priced by cluster shape rather than per query, and on two different bases: Vitess by cluster size, VTGate configuration and storage; Neki by shard size and count, router configuration, replicas, storage, backup storage and network usage. |
| Egress over allowance | $0.09 per GB for uncached egress and $0.03 per GB for cached, charged only above the plan's quota. Egress restrictions clear at the next billing cycle, or immediately on upgrading or disabling the spend cap. | 100 GB of egress included, then $0.06/GB |
| Storage (entry plan) | 8 GB disk per project on the Pro plan; 500 MB on Free | First 10 GB free on network-attached storage, then per-GB pricing; storage is included for Metal databases |
| Managed connection pooling | Supported — Shared pooler on every plan, IPv4-only; the dedicated pooler is paid plans only. | Supported |
| Regions | 17 specific AWS regions across the Americas, Europe, Asia-Pacific and South America, plus broader 'general region' groupings that place the project on an available AWS region within an area. General regions do not support read replicas or API management. | 19 regions — 12 on AWS (Tokyo, Mumbai, Singapore, Sydney, Montreal, Frankfurt, Dublin, London, São Paulo, N. Virginia, Ohio, Oregon) and 7 on GCP. A branch's region is fixed at creation and changing it means migrating. |
| Engine | PostgreSQL | PostgreSQL, and MySQL-compatible Vitess clusters with horizontal sharding |
| Database branching | Supported | Supported |
| Point-in-time recovery | Point-in-time recovery is a paid add-on on Pro, Team and Enterprise, and needs at least a Small compute add-on alongside it. Worst-case recovery point is 2 minutes. Without it, restores go back only to a daily backup. | Point-in-time recovery through write-ahead log archiving. WAL is kept for as long as the oldest backup, so the default schedule gives a 2-day window and a longer retention extends it. |
| Read replicas | Supported | Supported — Two replicas come with the High Availability shape, across three availability zones. |
| Backup retention | Daily backups: 7 days on Pro, 14 days on Team, up to 30 days on Enterprise. Free projects get no automatic backups at all — Supabase tells free users to export their own data with the CLI. | Automatic backups every 12 hours on production and development branches, retained 2 days by default. Custom schedules and manual backups can set a longer period, and are charged for it. |
| Support on entry paid plan | Community support on Free; email support on Pro, the entry paid plan; priority email support and SLAs from Team; a designated support manager and 24/7/365 premium support on Enterprise. | Enterprise lists Slack-based support with a private shared channel, and business support with enhanced response times from support engineers. The self-serve plans have no support level named on the page. |
| SOC 2 | SOC 2 Type 2 compliant; report available to Enterprise and Team customers via the dashboard. | SOC 1 Type 2 and SOC 2 Type 2 + HIPAA reports, available on all plans on request via PlanetScale's Trust Center. |
| HIPAA | HIPAA compliant; customers may store PHI after signing a BAA and meeting shared-responsibility obligations. | HIPAA-eligible via a Business Associate Agreement for qualifying customers; PlanetScale notes HHS does not recognize a formal HIPAA certification, so compliance is a shared responsibility rather than a badge. |
| GDPR / data residency | Projects hosted in EU regions keep primary database data in-region; a DPA is available. | Complies with GDPR; data locality follows the AWS/GCP region a database is created in, and EU-region databases keep data in-region unless a read-only replica is added elsewhere. |
| Encryption at rest | AES-256 at rest and TLS in transit; sensitive tokens/keys get application-level encryption before storage. | AES encryption at rest on the storage media serving database branches and backups. |

## Where they differ

### Free tier

- Supabase: Yes ([source](https://supabase.com/pricing))
- PlanetScale: No — $5/month is the cheapest SKU on PlanetScale's whole price list; the document prices no free plan. ([source](https://planetscale.com/pricing.md))
- Lean: 78% Supabase / 22% PlanetScale — whether it is offered at all. inetGeek's own reading, computed from the two values above by the rules at https://inetgeek.com/methodology/, not a provider claim.

### Entry paid plan

- Supabase: $25/month for Pro, including the first project and $10/mo of compute credits — enough to cover one Micro instance, so this runs a small project rather than being a fee on top of it. Additional projects from $10/mo. ([source](https://supabase.com/pricing))
- PlanetScale: $5/month for a single-node Postgres database on network-attached storage; PlanetScale Metal with local NVMe starts at $50/month ([source](https://planetscale.com/pricing))
- Lean: 17% Supabase / 83% PlanetScale — inversely proportional to the documented price. inetGeek's own reading, computed from the two values above by the rules at https://inetgeek.com/methodology/, not a provider claim.

### Pricing model

- Supabase: Fixed monthly plan per organisation plus per-project compute, billed hourly by instance size ([source](https://supabase.com/pricing))
- PlanetScale: Priced by cluster shape rather than per query, and on two different bases: Vitess by cluster size, VTGate configuration and storage; Neki by shard size and count, router configuration, replicas, storage, backup storage and network usage. ([source](https://planetscale.com/pricing))
- Lean: none. No documented basis to lean either way on this criterion.

### Egress over allowance

- Supabase: $0.09 per GB for uncached egress and $0.03 per GB for cached, charged only above the plan's quota. Egress restrictions clear at the next billing cycle, or immediately on upgrading or disabling the spend cap. ([source](https://supabase.com/docs/guides/platform/manage-your-usage/egress))
- PlanetScale: 100 GB of egress included, then $0.06/GB ([source](https://planetscale.com/pricing))
- Lean: 40% Supabase / 60% PlanetScale — inversely proportional to the documented price. inetGeek's own reading, computed from the two values above by the rules at https://inetgeek.com/methodology/, not a provider claim.

### Storage (entry plan)

- Supabase: 8 GB disk per project on the Pro plan; 500 MB on Free ([source](https://supabase.com/pricing))
- PlanetScale: First 10 GB free on network-attached storage, then per-GB pricing; storage is included for Metal databases ([source](https://planetscale.com/pricing))
- Lean: none. No documented basis to lean either way on this criterion.

### Regions

- Supabase: 17 specific AWS regions across the Americas, Europe, Asia-Pacific and South America, plus broader 'general region' groupings that place the project on an available AWS region within an area. General regions do not support read replicas or API management. ([source](https://supabase.com/docs/guides/platform/regions))
- PlanetScale: 19 regions — 12 on AWS (Tokyo, Mumbai, Singapore, Sydney, Montreal, Frankfurt, Dublin, London, São Paulo, N. Virginia, Ohio, Oregon) and 7 on GCP. A branch's region is fixed at creation and changing it means migrating. ([source](https://planetscale.com/docs/plans/regions))
- Lean: 47% Supabase / 53% PlanetScale — proportional to the documented capacity. inetGeek's own reading, computed from the two values above by the rules at https://inetgeek.com/methodology/, not a provider claim.

### Engine

- Supabase: PostgreSQL ([source](https://supabase.com/docs/guides/database/connecting-to-postgres))
- PlanetScale: PostgreSQL, and MySQL-compatible Vitess clusters with horizontal sharding ([source](https://planetscale.com/pricing))
- Lean: none. No documented basis to lean either way on this criterion.

### Point-in-time recovery

- Supabase: Point-in-time recovery is a paid add-on on Pro, Team and Enterprise, and needs at least a Small compute add-on alongside it. Worst-case recovery point is 2 minutes. Without it, restores go back only to a daily backup. ([source](https://supabase.com/docs/guides/platform/backups))
- PlanetScale: Point-in-time recovery through write-ahead log archiving. WAL is kept for as long as the oldest backup, so the default schedule gives a 2-day window and a longer retention extends it. ([source](https://planetscale.com/docs/postgres/backups))
- Lean: none. No documented basis to lean either way on this criterion.

### Backup retention

- Supabase: Daily backups: 7 days on Pro, 14 days on Team, up to 30 days on Enterprise. Free projects get no automatic backups at all — Supabase tells free users to export their own data with the CLI. ([source](https://supabase.com/docs/guides/platform/backups))
- PlanetScale: Automatic backups every 12 hours on production and development branches, retained 2 days by default. Custom schedules and manual backups can set a longer period, and are charged for it. ([source](https://planetscale.com/docs/postgres/backups))
- Lean: 78% Supabase / 22% PlanetScale — proportional to the documented capacity. inetGeek's own reading, computed from the two values above by the rules at https://inetgeek.com/methodology/, not a provider claim.

### Support on entry paid plan

- Supabase: Community support on Free; email support on Pro, the entry paid plan; priority email support and SLAs from Team; a designated support manager and 24/7/365 premium support on Enterprise. ([source](https://supabase.com/pricing))
- PlanetScale: Enterprise lists Slack-based support with a private shared channel, and business support with enhanced response times from support engineers. The self-serve plans have no support level named on the page. ([source](https://planetscale.com/pricing))
- Lean: none. No documented basis to lean either way on this criterion.

### SOC 2

- Supabase: SOC 2 Type 2 compliant; report available to Enterprise and Team customers via the dashboard. ([source](https://supabase.com/security))
- PlanetScale: SOC 1 Type 2 and SOC 2 Type 2 + HIPAA reports, available on all plans on request via PlanetScale's Trust Center. ([source](https://planetscale.com/docs/security))
- Lean: neither leads — both document the same answer.

### HIPAA

- Supabase: HIPAA compliant; customers may store PHI after signing a BAA and meeting shared-responsibility obligations. ([source](https://supabase.com/security))
- PlanetScale: HIPAA-eligible via a Business Associate Agreement for qualifying customers; PlanetScale notes HHS does not recognize a formal HIPAA certification, so compliance is a shared responsibility rather than a badge. ([source](https://planetscale.com/docs/security))
- Lean: neither leads — both document the same answer.

### GDPR / data residency

- Supabase: Projects hosted in EU regions keep primary database data in-region; a DPA is available. ([source](https://supabase.com/security))
- PlanetScale: Complies with GDPR; data locality follows the AWS/GCP region a database is created in, and EU-region databases keep data in-region unless a read-only replica is added elsewhere. ([source](https://planetscale.com/docs/security))
- Lean: neither leads — both document the same answer.

### Encryption at rest

- Supabase: AES-256 at rest and TLS in transit; sensitive tokens/keys get application-level encryption before storage. ([source](https://supabase.com/security))
- PlanetScale: AES encryption at rest on the storage media serving database branches and backups. ([source](https://planetscale.com/docs/security))
- Lean: neither leads — both document the same answer.

## Which should you choose?

Pick Supabase if Teams who want Postgres plus auth, storage and generated APIs from one vendor on a fixed monthly bill, and who would otherwise assemble those pieces themselves.

Pick PlanetScale if Production workloads that want replicas across availability zones as the default shape rather than an upgrade, and teams who need MySQL-compatible sharding that the Postgres-only services do not offer.

Consider something else: Supabase — You want only a database. Much of the $25 covers a platform you may not use, and free projects are paused after a week of inactivity, which is not the same as scaling to zero.

Consider something else: PlanetScale — You are prototyping. Pricing starts at a node rather than at zero, and there is no free tier documented on the pricing page.

## Documented by only one

One side documents these and the other does not. An absence is a missing source, not a stated "no" — except where a line says the other page was READ on a date and does not mention it, which is a sourced observation and the only one-sided case this site leans on.

- Kind of free offer: Supabase: Free tier
- What the free plan includes: Supabase: 500 MB database, 5 GB egress, 1 GB file storage, 50,000 monthly active users and unlimited API requests on shared CPU. Free projects pause after a week without activity.
- Included bandwidth: Supabase: 250 GB uncached and 250 GB cached egress a month on Pro and Team, pooled across Database, Auth, Storage and every other service as one Unified Egress Quota
- Uptime SLA: Supabase: Uptime SLAs are an Enterprise line item. No uptime percentage appears anywhere on the pricing page; Team lists "priority email support & SLAs" without a figure.
- Connection limit: Supabase: 60 direct and 200 pooled connections on the Micro instance included with Pro; both scale with instance size
- When idle: Supabase: Free projects are paused after one week of inactivity and must be restored manually; paid projects are not paused
- Audit logs: PlanetScale: In addition to the audit log feature available to all PlanetScale plans, Enterprise plans can use our EventBridge configuration to send logs to your AWS account.
  - Supabase: not stated on https://supabase.com/security, read 2026-09-21. Corrections: https://inetgeek.com/contact/
  - Lean: 22% Supabase / 78% PlanetScale — documented, against a vendor page that does not state it (checked 2026-09-21).
- ISO 27001: Supabase: ISO 27001 certified; certificate available to Enterprise and Team customers via the dashboard.
  - PlanetScale: not stated on https://planetscale.com/docs/security, read 2026-09-21. Corrections: https://inetgeek.com/contact/
  - Lean: 78% Supabase / 22% PlanetScale — documented, against a vendor page that does not state it (checked 2026-09-21).
- PCI DSS: PlanetScale: PlanetScale Managed — the single-tenant product deployed into the customer's own AWS/GCP account — holds a PCI DSS 4.0 Attestation of Compliance as a Level 1 Service Provider. Not documented for the shared multi-tenant product.
  - Supabase: not stated on https://supabase.com/security, read 2026-09-21. Corrections: https://inetgeek.com/contact/
  - Lean: 22% Supabase / 78% PlanetScale — documented, against a vendor page that does not state it (checked 2026-09-21).
- Role-based access control: Supabase: Organization members can be granted access to specific resources, including read-only and billing-only roles.
- Private networking / VPC: PlanetScale: AWS PrivateLink or GCP Private Service Connect on all plans; PlanetScale Managed on AWS additionally offers fully private network isolation.
  - Supabase: not stated on https://supabase.com/security, read 2026-09-21. Corrections: https://inetgeek.com/contact/
  - Lean: 22% Supabase / 78% PlanetScale — documented, against a vendor page that does not state it (checked 2026-09-21).
- Dedicated infrastructure: PlanetScale: Two single-tenant options: Enterprise single-tenant, deployed into an AWS/GCP account owned by PlanetScale, or PlanetScale Managed, deployed inside the customer's own AWS or GCP account.

## Questions this comparison answers

**Entry paid plan: Supabase or PlanetScale?**

Supabase: $25/month for Pro, including the first project and $10/mo of compute credits — enough to cover one Micro instance, so this runs a small project rather than being a fee on top of it. Additional projects from $10/mo.
PlanetScale: $5/month for a single-node Postgres database on network-attached storage; PlanetScale Metal with local NVMe starts at $50/month

**Free tier: Supabase or PlanetScale?**

Supabase: Yes
PlanetScale: No — $5/month is the cheapest SKU on PlanetScale's whole price list; the document prices no free plan.

**Egress over allowance: Supabase or PlanetScale?**

Supabase: $0.09 per GB for uncached egress and $0.03 per GB for cached, charged only above the plan's quota. Egress restrictions clear at the next billing cycle, or immediately on upgrading or disabling the spend cap.
PlanetScale: 100 GB of egress included, then $0.06/GB

**Should I choose Supabase or PlanetScale?**

Pick Supabase if Teams who want Postgres plus auth, storage and generated APIs from one vendor on a fixed monthly bill, and who would otherwise assemble those pieces themselves.
Pick PlanetScale if Production workloads that want replicas across availability zones as the default shape rather than an upgrade, and teams who need MySQL-compatible sharding that the Postgres-only services do not offer.
