Skip to main content

The missing sync layer for modern apps

Build reactive, realtime, local-first apps directly on Postgres.

Craft how data syncs on and off onto your app using Shapes.

Shapes allow you to manage dynamic partial replication between Postgres in the cloud and SQLite or PGlite in the local app.

const shape = await db.projects.sync({
where: {
owner_id: auth.user_id
include: {
issues: {
include: {
comments: {
include: {
author: true

Anurag Goel

Founder - Render

ElectricSQL is a great choice for a local-first sync layer that you can run anywhere yourself.

Johannes Schickling

Founder - Prisma

I’m very impressed with ElectricSQL’s approach to sync and their thoughtful API design.

José Valim

Creator - Elixir

ElectricSQL brings the full power of the Erlang VM to local-first software development.

Modern UX

Local-first data access makes your apps instantly responsive and consistently fast.

Operational simplicity

Reduce the diversity and workload of your backend services by standardising on a simple, scalable replication protocol.

Your existing stack

Permissive license. No operational lock-in. Works with any Postgresbased system.

Open source

Apache 2.0 license. Open development on GitHub and Discord. Contributions welcome.


One horizontally scalable sync service. No complex infra or durability requirements.

Any Postgres

Works with your existing data model and any Postgres that supports logical replication.

Get started

Jump into the Quickstart guide to get ElectricSQL up and running. Or checkout the Examples and the Usage and Integration guides.

Join the community

Join our community Discord and star us on GitHub to support the project.

Become a design partner

Collaborate with the ElectricSQL team to build local-first applications.