PocketBase

active

by Gani Georgiev · since 2022 · also known as Pocket Base

Open-source backend in one Go binary: SQLite database, auth, files, realtime and admin UI.

relationaldocumentbackend platformopen source (permissive)growing

Overview

PocketBase packages an embedded SQLite database, a REST API with filter syntax, realtime subscriptions over SSE, auth (email, OAuth2, OTP, MFA), file storage (local or S3) and an admin dashboard into one Go executable. You can extend it with Go or JavaScript hooks. Collections map to SQLite tables with typed fields, relations and per-collection API rules, so it is closer to a tiny Firebase or Supabase than to a document database. It is pre-1.0 (v0.41.0 as of October 2026). In October 2026 its author moved development off GitHub to a self-hosted forge at ganigeorgiev.com and archived the GitHub repo, so update import paths and release feeds.

Strengths & trade-offs

Strengths

  • +Entire backend (DB, auth, files, realtime, admin UI) in a single binary
  • +Trivial to deploy on a small VPS; backups are a file copy
  • +Extend with Go (as a framework) or JavaScript hooks
  • +Realtime subscriptions and API rules out of the box
  • +MIT license

Trade-offs

  • −Pre-1.0 with breaking changes between minor versions
  • −Single-node only; no replication or horizontal scaling
  • −Bus factor of one maintainer
  • −Move off GitHub breaks existing Go import paths and release automation

Great for

  • +MVPs and indie SaaS backends
  • +Internal tools and admin panels
  • +Mobile app backends with auth and file uploads
  • +Self-hosted alternatives to Firebase for small apps

Think twice for

  • −High-availability or multi-region systems
  • −Large write-heavy workloads
  • −Teams needing vendor support contracts

Capabilities

Native or official first-party support · 10 of 25 tracked

✓Transactions
✓Joins
✓Secondary indexes
✓Geospatial
✓JSON
✓Triggers
✓Pub/Sub
✓Durable persistence
✓Role-based access
✓Online schema changes
–Full-text search
–Vector search
–Change data capture
–Stored procedures
–Materialized views
–TTL / expiry
–Columnar storage
–In-memory
–Compression
–Encryption at rest
–Time travel
–Branching
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Small · ≤ 100 GB
Horizontal scaling
None
Multi-region
No
Transactions
Full ACID
Consistency
Strong
Schema
Strict
Architecture
Single node, Embedded, Client server
Query languages
PocketBase filter syntax, SQL (via hooks)

One process on one machine; vertical scaling only, inherits SQLite's single-writer model.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

apis & protocolsREST, Server-Sent Events (realtime)
client languagesJavaScript, Dart

Alternatives to PocketBase

Compare all→
SupabaseRelational54.3

Open-source Postgres backend platform: database, auth, storage, realtime and edge functions in one project.

pocketbase vs supabase →
FirebaseDocument65.4

Google's app platform: Firestore, Realtime Database and Data Connect, plus auth, functions and hosting.

pocketbase vs firebase →
AppwriteRelational27.2

Open-source backend platform with databases, auth, storage, functions and realtime, self-hosted or cloud.

pocketbase vs appwrite →
ConvexDocument26.0

Reactive TypeScript backend with a transactional document database, server functions and live queries.

pocketbase vs convex →
SQLiteRelational75.5

The in-process SQL engine that ships in every phone, browser and OS: one file, zero servers.

pocketbase vs sqlite →
Firebase Realtime DatabaseDocument26.4

Firebase's original JSON-tree database that syncs every change to connected clients in milliseconds.

pocketbase vs firebase-realtime-database →

PocketBase FAQ

What is PocketBase?

PocketBase is a relational database by Gani Georgiev, first released in 2022. PocketBase packages an embedded SQLite database, a REST API with filter syntax, realtime subscriptions over SSE, auth (email, OAuth2, OTP, MFA), file storage (local or S3) and an admin dashboard into one Go executable. You can extend it with Go or JavaScript hooks. Collections map to SQLite tables with typed fields, relations and per-collection API rules, so it is closer to a tiny Firebase or Supabase than to a document database. It is pre-1.0 (v0.41.0 as of October 2026). In October 2026 its author moved development off GitHub to a self-hosted forge at ganigeorgiev.com and archived the GitHub repo, so update import paths and release feeds.

Is PocketBase open source?

Yes. PocketBase is open source. License: MIT License.

Does PocketBase support ACID transactions?

Yes. PocketBase supports full ACID transactions, with strong consistency.

Does PocketBase scale horizontally?

PocketBase does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).

How can I run PocketBase?

You can self-host it and embed it in your application.

What is PocketBase best for?

PocketBase is a strong fit for MVPs and indie SaaS backends; internal tools and admin panels; and mobile app backends with auth and file uploads. Think twice for high-availability or multi-region systems.

What are the best alternatives to PocketBase?

Common alternatives to PocketBase include Supabase, Firebase, Appwrite, Convex and SQLite. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is PocketBase?

PocketBase ranks #74 of 844 databases on the WhichDB Score (32.0/100), and #22 among relational databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.