What is PlanetScale?
PlanetScale is a serverless MySQL database platform built on Vitess — the same technology that powers MySQL at YouTube and Google. You get a fully managed database that scales horizontally without you touching infrastructure, combined with a Git-inspired workflow for managing database schema changes.
The headline feature is database branching. Just as Git lets you create a code branch, make changes, and merge them back safely, PlanetScale lets you create a database branch, modify the schema, preview the diff, and open a "deploy request" to apply those changes to production — without downtime and with the ability to revert if something goes wrong.
Why use it?
PlanetScale solves two real problems that trip up growing apps.
The first is connection limits. Traditional databases have a fixed ceiling on simultaneous connections. Serverless functions (like Vercel or Netlify functions) can spawn hundreds of instances simultaneously, each trying to open a database connection. PlanetScale's architecture handles this gracefully — there are no connection limits to hit.
The second is safe schema migrations. Changing a database schema on a live production database is risky with traditional MySQL — a poorly written migration can lock a table and take down your app. PlanetScale's branching workflow de-risks this entirely. You test changes on a branch, review the diff with your team, and deploy with a button click.
Important note on pricing: PlanetScale removed their free Hobby tier in 2024. The current entry point is $39/month. If you are building a small project or testing an idea, look at Supabase (free PostgreSQL) or Turso (free SQLite at the edge) before committing to PlanetScale's cost.
Free vs Paid
| Plan | Price | Storage | Row reads/month |
|---|---|---|---|
| Hobby | Removed in 2024 | — | — |
| Scaler | $39/mo | 10GB | 100 billion |
| Scaler Pro | $99/mo | 10GB | 100 billion |
| Enterprise | Custom | Custom | Custom |
There is no free tier. If budget is a constraint, consider Supabase (PostgreSQL, free up to 500MB) or Turso (SQLite, free up to 500 databases and 9GB).
Step-by-step setup
- Go to planetscale.com and create an account
- Create a new database — choose a region closest to your users or your hosting provider
- PlanetScale creates a
mainbranch automatically — this is your production database - Install the PlanetScale CLI:
brew install planetscale/tap/pscale(macOS) or download for your OS - Authenticate:
pscale auth login - Create a development branch for your initial schema:
pscale branch create your-db dev - Connect to the dev branch:
pscale connect your-db dev --port 3309 - Apply your schema using your ORM (Prisma, Drizzle) or raw SQL via the connection
- Open a deploy request in the dashboard to merge your schema changes to
main - Generate a production connection string in the dashboard under Connect → Connect with and add it to your environment variables
Common questions
Why did PlanetScale remove the free tier? PlanetScale cited the cost of supporting free users at scale. They repositioned as an enterprise-grade product. For hobbyists and indie developers, this made PlanetScale significantly less attractive — which is why Supabase and Turso saw a surge in adoption after the announcement.
Is PlanetScale PostgreSQL or MySQL? MySQL only, built on Vitess. If your stack expects PostgreSQL (common with tools like Prisma, which works better with Postgres in some scenarios), PlanetScale requires MySQL-compatible query syntax. Most ORMs support both, but it is a consideration.
What does "no connection limits" actually mean in practice? With a standard database, deploying a serverless app that gets a traffic spike can exhaust the connection pool and cause errors. PlanetScale uses a proxy layer that multiplexes connections, so your functions can scale to thousands of concurrent instances without hitting a database connection ceiling.
Should I use PlanetScale for a new project in 2025? Only if you have a budget and specifically need MySQL with branching workflows at scale. For most new projects, Supabase (free, PostgreSQL) or Turso (free, edge SQLite) are better starting points. Migrate to PlanetScale later if you genuinely outgrow them.