powersync-js
PowerSync is a JavaScript SDK monorepo that syncs SQLite databases on clients with backend databases (Postgres, MongoDB, MySQL, SQL Server), enabling offline-first, real-time apps with instant UI responsiveness. It provides SDKs for React Native, Web, Node.js, and integrations with React, Vue, and popular ORMs like Kysely and Drizzle.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | powersync-ja/powersync-js |
| Owner | powersync-ja |
| Primary language | TypeScript |
| License | Apache-2.0 — OSI-approved |
| Stars | 688 |
| Forks | 78 |
| Open issues | 38 |
| Latest release | @powersync/[email protected] (2026-07-07) |
| Last updated | 2026-07-08 |
| Source | https://github.com/powersync-ja/powersync-js |
What powersync-js is
TypeScript-based monorepo implementing a bidirectional sync engine with embedded SQLite clients, streaming bucket synchronization, and ORM integrations. Supports multiple platforms (React Native, Web, Node.js, Electron, Capacitor) and includes framework bindings (React, Vue) and TanStack Query integration for state management.
Get the powersync-js source
Clone the repository and explore it locally.
git clone https://github.com/powersync-ja/powersync-js.gitcd powersync-js# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Monorepo structure requires understanding package boundaries; start with the appropriate platform-specific package (react-native, web, or node) rather than the entire monorepo.
- Multiple ORM integrations (Kysely, Drizzle) and framework bindings (React, Vue) available; choose based on existing tech stack to minimize additional dependencies.
- Background sync and offline-first patterns require application-level logic for conflict resolution, retry strategies, and user feedback; not purely automatic.
- SQLite database schema and sync bucket configuration must align with backend schema; migration and versioning strategy should be established early.
- Performance implications of local SQLite on constrained devices (older mobile phones) should be tested; monorepo includes example projects for benchmarking.
When to avoid it — and what to weigh
- Server-Only or Purely Cloud-Native Architecture — If your stack is entirely server-side or requires no local persistence, PowerSync adds unnecessary complexity. Standard client libraries or GraphQL subscriptions may be simpler.
- Non-SQL Datastores — PowerSync targets SQL-based backends (Postgres, MySQL, MongoDB, SQL Server). NoSQL stores without SQL interfaces will require custom integration work.
- Minimal Offline Requirements — If offline functionality is not a core requirement and real-time sync is secondary, simpler state management (Redux, Zustand) may suffice.
- Strict Licensing Constraints — If your organization prohibits Apache 2.0 dependencies for commercial use, requires review of indemnification terms, or mandates different license families.
License & commercial use
Licensed under Apache License 2.0, a permissive OSI license allowing commercial use, redistribution, and modification with patent protection. Requires inclusion of license and copyright notice.
Apache 2.0 is a permissive license generally compatible with commercial software. However, verify your organization's legal policy on indemnification clauses and patent grants. No explicit commercial support or SLA provided in the repository data; direct clarification with PowerSync or your legal team if required.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
SQLite on client-side exposes data at rest; encryption example exists (example-vite-encryption) but is opt-in. Authentication and authorization mechanisms are integration points, not built-in; secure implementation depends on backend configuration. No published security audit data in repository; review backend sync logic and auth implementation before storing sensitive data. Offline-first pattern requires careful conflict resolution to avoid data leakage between users.
Alternatives to consider
WatermelonDB
React Native-focused local-first database with ORM-like API. Simpler setup for mobile-only apps but less cross-platform flexibility and smaller ecosystem.
TanStack Query + local storage / IndexedDB
Lighter-weight client-side caching without embedded SQLite. Suitable for apps without strict offline requirements or complex relational data.
Firebase Realtime Database / Firestore with offline support
Managed backend with built-in offline and real-time sync. Limits schema flexibility and backend choice; less control over sync logic but reduced operational burden.
Build on powersync-js with DEV.co software developers
Explore PowerSync's multi-platform SDKs, review demo applications, and start integrating bidirectional sync into your next project.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
powersync-js FAQ
Do I need to run the entire monorepo, or can I install just the React Native SDK?
What happens if my client goes offline—will changes be lost?
Is authentication handled by PowerSync?
Can I use PowerSync with my existing Postgres database?
Work with a software development agency
Need help beyond evaluating powersync-js? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source databases integrations — and maintain them long-term.
Ready to Build Offline-First Apps?
Explore PowerSync's multi-platform SDKs, review demo applications, and start integrating bidirectional sync into your next project.