Build in a weekend.Scale to millions.

Supabase is an open source Firebase alternative. Start your project with a Postgres Database, Authentication, instant APIs, Realtime subscriptions and Storage.

backed by
Y CombinatorMozillaCoatue

Build faster and focus on your products

Database

Every project is a full Postgres database, the world's most trusted relational database.

Learn more
Authentication

Add user sign ups and logins, securing your data with Row Level Security.

Learn more
Storage

Store, organize, and serve large files. Any media, including videos and images.

Learn more
Edge Functions

Write custom code without deploying or scaling servers.

Learn more

Join the community

Supported by a network of early advocates, contributors, and champions.

What can you build with supabase?

There are many example apps and starter projects to get going

Svelte kanban board

A Trello clone using Supabase as the storage system.

joshnuss GitHub profile picturejoshnuss

Next.js Realtime chat app

Next.js Slack clone app using Supabase realtime subscriptions

supabase GitHub profile picturesupabase

Next.js Subscription and Auth

The all-in-one starter kit for high-performance SaaS applications.

Vercel GitHub profile pictureVercel

Expo Starter

Template bottom tabs with auth flow (Typescript)

codingki GitHub profile picturecodingki

NestJS example

NestJS example using Supabase Auth

hiro1107 GitHub profile picturehiro1107

ReactJS realtime chat app

Example app of real-time chat using supabase realtime api

shwosner GitHub profile pictureshwosner

Instant APIs that do the hard work for you

We introspect your database to provide APIs instantly. Stop building repetitive CRUD endpoints and focus on your product.

TypeScript Support

Type definitions built directly from your database schema

Explore more

Install from CDN

Use Supabase in the browser without a build process

Explore more

Local emulator

Develop locally and push to production when you're ready

Explore more

Supabase CLI

Manage Supabase projects from your local machine

Explore more
1import { createClient } from '@supabase/supabase-js'
2    
3// Initialize 
4const supabaseUrl = 'https://chat-room.supabase.co'
5const supabaseKey = 'public-anon-key'
6const supabase = createClient(supabaseUrl, supabaseKey)
7
8// Create a new user
9const { user, error } = await supabase.auth.signUp({
10  email: 'example@email.com',
11  password: 'example-password',
12})
13    
1import { createClient } from '@supabase/supabase-js'
2    
3// Initialize 
4const supabaseUrl = 'https://chat-room.supabase.co'
5const supabaseKey = 'public-anon-key'
6const supabase = createClient(supabaseUrl, supabaseKey)
7
8// Get notified of all new chat messages
9const realtime = supabase
10  .from('messages')
11  .on('INSERT', message => {
12    console.log('New message!', message)
13  })
14  .subscribe()
15    
1import '@supabase/supabase-js'
2
3// Initialize 
4const supabaseUrl = 'https://chat-room.supabase.co'
5const supabaseKey = 'public-anon-key'
6const supabase = createClient(supabaseUrl, supabaseKey)
7
8// Get public rooms and their messages
9const publicRooms = await supabase
10  .from('rooms')
11  .select(`
12    name,
13    messages ( text )
14  `)
15  .eq('public', true)
16    
1import { createClient } from '@supabase/supabase-js'
2
3// Initialize 
4const supabaseUrl = 'https://chat-room.supabase.co'
5const supabaseKey = 'public-anon-key'
6const supabase = createClient(supabaseUrl, supabaseKey)
7
8// Create a new chat room
9const newRoom = await supabase
10  .from('rooms')
11  .insert({ name: 'Supabase Fan Club', public: true })
12  
1import { createClient } from '@supabase/supabase-js'
2    
3// Initialize 
4const supabaseUrl = 'https://chat-room.supabase.co'
5const supabaseKey = 'public-anon-key'
6const supabase = createClient(supabaseUrl, supabaseKey)
7
8// Update multiple users
9const updatedUsers = await supabase
10  .from('users')
11  .eq('account_type', 'paid')
12  .update({ highlight_color: 'gold' })
13

Build your app without leaving the dashboard

Manage your data with the familiarity of a spreadsheet

You don’t have to be a database expert to use Supabase. Our table editor makes Postgres easy to use, even for non-techies. You can do everything right in our dashboard.

Explore Table View

In-built SQL editor for when you need greater control

Write, save, and execute SQL queries directly on our dashboard, with templates to save you time. Run common queries and even build applications using our growing list of templates.

Explore SQL Editor

User management as straight-forward as it can be

Easily manage your users with Supabase Auth, with email logins, magic links, and third-party logins. Create complex access policies with SQL rules to fit your unique business needs.

Explore Auth

Build in a weekend, scale to millions