PowerSync

active

by JourneyApps (Journey Mobile, Inc.) · since 2023 · also known as PowerSync Service

Sync engine that keeps on-device SQLite in sync with Postgres, MongoDB, MySQL or SQL Server.

relationaldatabase enginesource-availablegrowing

Overview

PowerSync replicates data from a backend database (Postgres, MongoDB, MySQL and SQL Server) into a local SQLite database on each client, using sync rules or sync streams to decide which rows each user gets. Writes are applied locally first, queued, and uploaded through your own backend API, which keeps authorization server-side. SDKs cover Flutter, React Native, web (SQLite in WASM), Kotlin, Swift and .NET, and it can encrypt the local database. The service is source-available under FSL and can be self-hosted as the Open Edition, or used as PowerSync Cloud. It is one of the most production-ready answers to offline-first apps on an existing backend, and many former Realm users moved to it.

Strengths & trade-offs

Strengths

  • +Works with existing Postgres, MongoDB, MySQL and SQL Server backends
  • +Full SQLite on the device, so local queries can use joins and indexes
  • +Writes go through your backend API, which keeps authorization in one place
  • +Mature SDKs for Flutter, React Native, web, Kotlin Multiplatform and Swift
  • +Self-hostable Open Edition alongside a managed cloud

Trade-offs

  • −Service license is FSL (source-available), not OSI open source
  • −You still write the upload handler and conflict policy on your backend
  • −Sync rules add a second place where data access must be modelled

Great for

  • +Offline-first field-service and inspection apps
  • +Migrating off Realm/Atlas Device Sync
  • +Flutter and React Native apps on a Postgres or MongoDB backend
  • +Local-first web apps with SQLite in the browser

Think twice for

  • −Peer-to-peer sync without a server
  • −Teams needing a fully OSI-licensed sync server
  • −Apps that are always online and simple CRUD

Capabilities

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

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

Scale & consistency

Comfortable data size
Medium · ≤ 10 TB
Horizontal scaling
Native
Multi-region
Read replicas
Transactions
Full ACID
Consistency
Causal, Eventual
Schema
Strict
Architecture
Client server, Embedded
Query languages
SQL (SQLite on device), Sync Rules / Sync Streams (SQL-like)

Service instances scale horizontally; per-client data is bounded by on-device SQLite.

Deployment

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

Ecosystem

apis & protocolsClient SDKs, HTTP/WebSocket sync protocol
client languagesDart, JavaScript, Kotlin, Swift, C#

Alternatives to PowerSync

Compare all→
ElectricSQLRelational30.4

Read-path sync engine that streams partial replicas of Postgres to clients over plain HTTP.

powersync vs electricsql →
Realm (Atlas Device SDK)Object25.2

Object-oriented mobile database whose MongoDB sync service is gone; the local engine survives as open source.

powersync vs realm →
Couchbase LiteDocument7.9

Embedded JSON document database with SQL++ queries, vector search and sync to Couchbase.

powersync vs couchbase-lite →
Zero (Rocicorp)Relational20.8

Query-driven sync engine: clients run ZQL locally against a Postgres-backed cache for instant UIs.

powersync vs rocicorp-zero →
WatermelonDBRelational17.8

Lazy-loading reactive database for React Native and React apps, built on SQLite.

powersync vs watermelondb →
ObjectBoxObject12.4

Fast on-device object database with built-in HNSW vector search and an optional commercial sync server.

powersync vs objectbox →

PowerSync FAQ

What is PowerSync?

PowerSync is a relational database by JourneyApps (Journey Mobile, Inc.), first released in 2023. PowerSync replicates data from a backend database (Postgres, MongoDB, MySQL and SQL Server) into a local SQLite database on each client, using sync rules or sync streams to decide which rows each user gets. Writes are applied locally first, queued, and uploaded through your own backend API, which keeps authorization server-side. SDKs cover Flutter, React Native, web (SQLite in WASM), Kotlin, Swift and .NET, and it can encrypt the local database. The service is source-available under FSL and can be self-hosted as the Open Edition, or used as PowerSync Cloud. It is one of the most production-ready answers to offline-first apps on an existing backend, and many former Realm users moved to it.

Is PowerSync open source?

Not in the OSI sense. PowerSync is source-available: you can read the code, but the license restricts some uses, typically offering it as a competing managed service. License: FSL-1.1-ALv2 (service); Apache-2.0 client SDKs.

Does PowerSync support ACID transactions?

Yes. PowerSync supports full ACID transactions, with causal, eventual consistency.

Does PowerSync scale horizontally?

PowerSync scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at medium scale (≤ 10 TB). It supports cross-region read replicas.

How can I run PowerSync?

You can self-host it, embed it in your application and use the vendor's managed cloud.

What is PowerSync best for?

PowerSync is a strong fit for offline-first field-service and inspection apps; migrating off Realm/Atlas Device Sync; and flutter and React Native apps on a Postgres or MongoDB backend. Think twice for peer-to-peer sync without a server.

What are the best alternatives to PowerSync?

Common alternatives to PowerSync include ElectricSQL, Realm (Atlas Device SDK), Couchbase Lite, Zero (Rocicorp) and WatermelonDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is PowerSync?

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