Plugins and External Projects

Below is a list of known plugins, tools and projects can be used with PouchDB.

PouchDB allDbs()

Revives the allDbs() function, which lists all PouchDB databases.

PouchDB Authentication

Plugin for CouchDB's authentication system.

Pouch Box

Allows decentralized authentication and access control per document, using asymmetric encryption.

PouchDB Collate

Collation functions for PouchDB map/reduce. Used by PouchDB map/reduce to maintain consistent CouchDB collation ordering.

Crypto Pouch

Encrypt a PouchDB/CouchDB database.

Pouch Dat

Replicate from PouchDB to Dat.

PouchDB Hyperbee

Sparsely load data from Hyperbee over p2p networks in Node and the Browser.

Pouch Datalog

Implement the Datalog query language on PouchDB, with indexes.

PouchDB Dump and PouchDB Load

Dump a PouchDB/CouchDB to a file, then load it wholesale. Designed for fast initial replication.

Delta Pouch

Implements the handy "every document is a delta" pattern, so you don't have to deal with conflicts.

PouchDB Erase

A replicating db.destroy() alternative.

PouchDB Full Sync

Fully replicate two PouchDB/CouchDB databases, preserving absolutely all revision history.


Google Query Language (GQL) queries with PouchDB. (Documentation)

PouchDB Hoodie API

Hoodie-like API for PouchDB. (Documentation)

PouchDB Hoodie Store Client

PouchDB Hoodie-like API for data persistence & offline sync.

PouchDB List

Allows you to re-use your CouchDB list functions on the client side. (Documentation)

Pouch Mirror

Creates a synced in-memory mirror of a remote CouchDB for faster reads.

PouchDB No-Eval Map/Reduce

Allows you to use the query() API in environments that disallow eval(), like Chrome packaged apps.

Peer Pouch

PouchDB over WebRTC. (Note: only works with PouchDB 1.1.)

PouchDB Resolve Conflicts

Plugin to assist in PouchDB conflict resolving.

PouchDB Migrate

PouchDB plugin for running data migrations.

PouchDB Quick Search

Full-text search engine on top of PouchDB.

Relational Pouch

A relational database API on top of PouchDB/CouchDB.

PouchDB Replication Stream

Replicate between CouchDB/PouchDB using streams.

PouchDB Rewrite

A PouchDB plugin that allows you to re-use your CouchDB rewrites on the client side. (Documentation)

PouchDB Show

A PouchDB plugin that allows you to re-use your CouchDB show functions on the client side. (Documentation)


PouchDB/CouchDB replication over WebSockets, using (

PouchDB Spatial

Multidimensional and spatial queries with PouchDB.

PouchDB Geospatial

PouchDB geospatial querying of GeoJSON objects that supports the DE-9IM spatial predicates. (Documentation)


Powerful authentication for APIs and single page apps using the CouchDB ecosystem, which supports a variety of providers.


ORM-style storage plugin for PouchDB.

Pouch Stream

A plugin to let PouchDB talk streams.

Transform Pouch

Transforms documents before and after storage, e.g. for encryption, compression, or massaging data.

PouchDB Update

A PouchDB plugin that allows you to re-use your CouchDB update functions on the client side. (Documentation)

PouchDB Upsert

Convenience functions for working with documents: upsert() and putIfNotExists().

PouchDB Validation

A PouchDB plugin that allows you to re-use your CouchDB validate_doc_update functions on the client side. (Documentation)


PouchDB adapter for web workers, so that PouchDB blocks the DOM less.

PouchDB Server

A standalone CouchDB-style REST interface server to PouchDB.

Express PouchDB

An Express submodule with a CouchDB-style REST interface to PouchDB. Powers PouchDB Server.

Express PouchDB Replication Stream

Server-side Express endpoint to deliver a stream from PouchDB Replication Stream.


Use web sockets to subscribe to CouchDB global changes

Pouch Websocket Sync

Sync several PouchDBs through websockets. Supports reconnection, negotiation and authentication.

Pouch Remote Stream

Consume a remote PouchDB stream. Goes well with pouch-stream-server on the server side.

Pouch Stream Server

PouchDB stream server. Serves generic PouchDB object streams. Goes well with pouch-remote-stream on the client.


Scalable replication and change listening for CouchDB



Wrapper for using PouchDB within Angular.js.

Factoryng - AngularJS Adapter

An all-in-one AngularJS factory that wraps PouchDB and Delta Pouch.


Angular service to persist remote connection settings and maintain continuous replication.


AngularJS binding for PouchDB.



A mixin for extending ampersand-collection with pouchdb persistance.


Backbone PouchDB

Backbone PouchDB Sync Adapter.


Ember Pouch

Ember Data adapter for PouchDB/CouchDB.


Promisy PouchDB wrapper for Ember.js.



Kivik provides a common interface to CouchDB or CouchDB-like databases for Go and GopherJS. (PouchDB driver)

Kendo UI


Kendo UI DataSource adapter.



React wrapper for PouchDB that also subscribes to changes.


Pouch and Redux integration. With Pouch in control this time around.


Sync store state to PouchDB.


PouchDB-backed Redux.


Redux middleware to sync a PouchDB database with the Redux state.



Syncs PouchDB data with Vue.js components using Mango Selectors


Vue Pouch DB is a VueJS Plugin that binds PouchDB with Vue and keeps a synchronised state with the database. Has support for Mango queries which are processed locally within the VuePouchDB state.


A Python interface to PouchDB, with both a synchronous and an asynchronous API. Uses QtWebKit internally (via either PySide, PyQt4 or PyQt5). Some PouchDB plugins are also wrapped. (Documentation / Launchpad)


Android adapter with a native Java interface to PouchDB.


Shims and utils for working with binary Blobs in the browser.


PouchDB sugar API. (Github)


A bookmarklet for inspecting PouchDB databases within the browser. (Github)

Revision Tree Visualizer

A tool drawing revision tree of a couchdb document. You can see what is a conflict, which revisions are deleted and which is winning. (Github)