Skip to content
AppwritevsSupabase

Your whole stack, not just the database_

Supabase is Postgres with tools around it. Appwrite is the complete open-source platform: auth, databases, storage, functions in 13+ runtimes, and realtime, plus web hosting, messaging, domains, and a firewall that Supabase does not offer. One project, one Console, one bill.

SitesMessagingDomainsFirewallVideosSoon
AuthDatabasesPostgreSQLStorageFunctionsRealtime

57.6K GitHub stars

Open source, self-host anywhere

  • Only on Appwrite
  • Also on Supabase

Access control_

Permissions you can read in one line_

Same goal, very different ergonomics. Here is a team-scoped document in both platforms.

policies.sql
Supabase
alter table documents
  enable row level security;

create policy "Team members can read"
  on documents for select
  using (exists (
    select 1 from memberships m
    where m.team_id = documents.team_id
      and m.user_id = auth.uid()
  ));

Row Level Security is powerful, but access lives in SQL policies. One wrong join and a policy that looks right grants too much, especially when an AI agent writes it.

documents.ts
Appwrite
await tablesDB.createRow({
  databaseId: 'main',
  tableId: 'documents',
  rowId: ID.unique(),
  data: { title: 'Q3 roadmap' },
  permissions: [
    Permission.read(Role.team(teamId)),
    Permission.update(Role.team(teamId, 'editor')),  ],
})

Appwrite permissions are role strings that sit next to the data. Anyone, or any agent, can review who can read and write a row in a single line, and the same rules apply to the API, Realtime, and every SDK.

Databases_

The right database for every kind of data_

Supabase puts everything in one PostgreSQL instance per project. Appwrite gives you five database models in one project: TablesDB on serverless or dedicated compute, plus DocumentsDB, VectorsDB, PostgreSQL, and MySQL on dedicated compute.

Database models in one Appwrite project
5
Supabase: PostgreSQL
1
AppwriteSupabase
  • TablesDB

    Relational tables

    ServerlessDedicated

    Supabase: Not offered

  • DocumentsDBBeta

    JSON documents

    Dedicated

    Supabase: Not offered

  • VectorsDBBeta

    Vectors and embeddings

    Dedicated

    Supabase: Not offered

  • PostgreSQLBeta

    Native SQL

    Dedicated

    Supabase

    PostgreSQL

    One dedicated instance per project

  • MySQLBeta

    Native SQL

    Dedicated

    Supabase: Not offered

Documents and vectors live inside that one PostgreSQL database, through JSONB and pgvector.

Functions_

Thirteen runtimes, not one_

Supabase Edge Functions run TypeScript on a Deno-compatible runtime. Appwrite Functions run the language your team and your libraries already use, including Python for AI work, with Git deploys, cron, events, and local development.

Appwrite

13runtimes

  • Node.js
  • Python
  • Go
  • Bun
  • Deno
  • Dart
  • PHP
  • Ruby
  • Rust
  • .NET
  • Java
  • Kotlin
  • Swift

SupabaseTypeScript (Deno)

1language

Pricing_

Same $25. More room to grow._

Both Pro plans start at $25/mo and dedicated database compute starts at $10/mo on both. Appwrite includes more of almost everything, plus hosting and messaging Supabase does not sell at all.

Included on Pro, from $25/mo

AppwriteSupabase

Monthly active users

200K
100K

Bandwidth

2TB
250GB

File storage

150GB
100GB

Function executions

3.5M
2M

Realtime messages

6M
5M

Open source_

Open source that is easy to run yourself_

Both platforms publish their code. Appwrite is the one built to be self-hosted: one install command brings up every product, with the same APIs and Console as Appwrite Cloud.

GitHub stars
57.6K
Contributors
800+

Self-host in one command

$docker run -it --rm … --entrypoint="install" appwrite/appwrite:2.3.0

  • No lock-in

    Move between Appwrite Cloud and your own servers by changing one endpoint.

  • Run it anywhere

    Self-host on any cloud or on premises for data residency and compliance.

  • Nothing hidden

    Read the code that handles your users and data, and audit how it works.

  • Fix it, extend it

    Patch, extend, or contribute back instead of waiting on a vendor roadmap.

Supabase · Self-hosting left to you

Self-hosted Supabase is community supported and runs one project per instance.

Appwrite vs Supabase_

More of your stack, built in_

Where the two platforms overlap, and everything Appwrite adds on top.

Checked against public pricing and documentation in October 2026.

Appwrite
Supabase
Platform
Open source
Yes
Yes
Many projects in one self-hosted install
Yes
No

One project per instance

Self-hosting
One Docker install

Same APIs, SDKs, and Console as Cloud

Docker Compose

Community supported, one project per instance

Web hosting (static and SSR)
Yes

Sites, with Git deploys and previews

No

Pair it with a separate frontend host

Email, SMS, and push messaging
Yes

12 providers, topics, and scheduling

No
MCP server for AI agents
Yes
Yes
Data
Database models
5

Tables, documents, vectors, PostgreSQL, MySQL

1

PostgreSQL

Serverless or dedicated databases
Yes

Serverless TablesDB, or dedicated compute for any engine

No

One dedicated instance per project

Managed PostgreSQL
Yes

PostgreSQL 18 on dedicated compute

Yes
Databases with SDKs
TablesDB, DocumentsDB, VectorsDB
Postgres with auto-generated APIs
Access control
Table and row permissions

Readable role strings, no SQL

Row Level Security

Policies written in SQL

Point-in-time recovery
+20% of the compute tier

Restore window of 1 to 35 days

$100/mo per 7 days

Requires Small compute or larger

Dedicated compute
From $10/mo
From $10/mo
Compute and realtime
Function runtimes
13+

Node.js, Python, Go, Dart, PHP, and more

TypeScript

Deno-compatible runtime

Cron and event triggers
Yes
Yes
Realtime coverage
Every service

Rows, files, executions, sessions, teams

Database and channels

Postgres changes, broadcast, presence

Teams for multi-tenancy
Yes

Memberships and roles built in

Partial

Model it with tables and RLS

Pricing
Free plan
75K MAU, 2 projects
50K MAU, 2 projects
Pro plan
From $25/mo
From $25/mo
Monthly active users on Pro
200K, then $3 per 1,000
100K, then $3.25 per 1,000
Bandwidth on Pro
2TB
250GB
Spend control
Budget cap
Spend cap

Migration_

Bring your Supabase project with you_

The Migrations tool imports users, databases, and files straight from your Supabase project.

  1. 01

    Connect

    Paste your Supabase pooler credentials and service key in the Migrations tab.

  2. 02

    Select

    Pick users, databases, and files. Usage during the import is not billed.

  3. 03

    Ship

    Move Edge Functions to any runtime, then deploy your frontend with Sites.

Fair play_

When Supabase might still fit_

Supabase is a solid Postgres platform with a great team behind it. It may suit you if these describe your project.

  1. 01

    Your team relies mostly on Postgres and does not need much else from the platform.

  2. 02

    You rely on PostgREST for an auto-generated REST API over Postgres.

  3. 03

    You offer SAML single sign-on to your own end users.

    SAML SSO for your end users is coming soon to Appwrite.

  4. 04

    Your AI app builder has a one-click Supabase integration your workflow depends on.

Why developers choose Appwrite over Supabase_

For teams that want their whole stack in one place, yes. Appwrite includes everything Supabase covers, auth, databases, managed PostgreSQL, storage, functions, and realtime, plus web hosting, messaging, domains, and a project firewall. Permissions are readable role strings instead of SQL policies, and functions run in 13+ languages instead of TypeScript on Deno only.

Ship the whole stack from one place_

Create a project, import from Supabase, and deploy your frontend next to your backend.