Supabase offers a generous free tier that's more than enough for MVPs, side projects, and small sites. The only catch? Inactive projects get paused after a period of inactivity. We'll show you how to set everything up — and how to prevent that from happening.
Sign Up for a Supabase Free Account
Supabase's free tier gives you everything you need to build a real, production-ready app:
- 500 MB database storage — plenty for MVPs and small apps
- 2 GB bandwidth per month included
- 50,000 monthly active users for auth
- 1 GB file storage for uploads and assets
- Edge Functions, Realtime, and more — all on the free plan
Head to supabase.com and click "Start your project." You can sign up with GitHub or an email address. Once in, create a new organization and then a new project. Choose a region close to your users for the best performance.
Free tier projects are limited to 2 active projects per organization. If you need more, you can create additional free organizations.
Set Up Your Database
Supabase uses PostgreSQL under the hood — a powerful, battle-tested database that's free to use. Once your project is created, you can set up your schema in a few ways:
- Table Editor — create tables visually with a spreadsheet-like UI
- SQL Editor — write raw SQL for full control over your schema
- Migrations — version-control your schema changes for team environments
For most MVPs, the Table Editor is the quickest way to get started. Create your tables, define your columns, and Supabase will automatically generate a full REST and GraphQL API for you — no backend code required.
Don't forget to enable Row Level Security (RLS) on any table that holds user data. This ensures users can only access their own records, even if someone calls your API directly.
Always enable RLS on tables that contain user data. Supabase makes this easy — just toggle it on in the Table Editor and add a policy that restricts access to the authenticated user.
Connect Your Site to Supabase
Connecting your app to Supabase takes just a few lines of code. Grab your project's URL and anon key from the Supabase dashboard under Project Settings → API.
npm install @supabase/supabase-js import { createClient } from '@supabase/supabase-js'
const supabase = createClient(
process.env.SUPABASE_URL,
process.env.SUPABASE_ANON_KEY
) Store your URL and anon key as environment variables — never hardcode them in your source code. On SupaDeploy, you can set environment variables directly in your project dashboard and they're available to your app at runtime.
- Query data with
supabase.from('table').select() - Handle auth with
supabase.auth.signUp()andsignInWithPassword() - Upload files with
supabase.storage.from('bucket').upload() - Subscribe to changes with Supabase Realtime out of the box
Keep Your Supabase DB Alive with SupaKeepAlive
Here's the one thing most guides don't tell you: Supabase pauses free-tier projects after 7 days of inactivity. When paused, your app stops working until you manually resume the project from the dashboard.
This isn't a problem during active development, but it can catch you off guard when your app is live and you haven't had new users in a week — or when you come back to a project after a break.
SupaDeploy SupaKeepAlive
Our SupaKeepAlive service automatically pings your Supabase project on a regular schedule, keeping it active and preventing the inactivity pause. It's included with your SupaDeploy hosting plan — no extra setup required.
Just connect your Supabase project URL in your SupaDeploy dashboard and we handle the rest. Your free-tier Supabase database stays alive as long as your app is hosted with us.
Get Started with SupaDeployWhy Host Your Supabase App on SupaDeploy?
Supabase handles your database, auth, and storage. SupaDeploy handles the rest — deploying your app, keeping it running, and making sure your Supabase connection stays alive.
- $3/month flat pricing — no surprise bills or usage-based charges
- SupaKeepAlive included — your free Supabase DB never gets paused
- Cron jobs built in — schedule tasks without third-party services
- Email hosting included — @yourdomain.com email at no extra cost
- Python workers supported — run background AI and data tasks
- Free migration — we'll move your app from any platform at no charge