- Home
- Document Databases
- PouchDB
PouchDB
What it is
PouchDB is a free, open-source JavaScript database for applications that store data locally and synchronize with CouchDB-compatible servers. An application can continue using local data offline, then replicate with a remote database after reconnecting. Its replication API can follow future changes and retry failed connections when configured. PouchDB runs in browsers and Node.js, and can also be used with Cordova, PhoneGap, NW.js, Electron, and Chrome apps. Browser storage defaults to IndexedDB, while Node.js defaults to LevelDB. Documents may include image or audio attachments as base64 data or Blobs. The project includes a map/reduce API; Mango queries require the separate pouchdb-find plugin. Its asynchronous API supports callbacks, promises, and async functions. PouchDB describes itself as framework-agnostic, naming Angular, React, Ember, and Backbone. Tested server support includes CouchDB 1.x, 2.x, and 3.x, Cloudant, and PouchDB Server. Replication requires the CouchDB replication protocol. The project says Apache PouchDB is undergoing incubation at the Apache Software Foundation.
For and against
For
- Stores application data locally while offline
- Replicates with CouchDB-compatible servers
- Supports browsers, Node.js, and wrapper environments
- Documents can include image or audio attachments
- Asynchronous API supports callbacks, promises, and async functions
Against
- Replication requires the CouchDB protocol
- Mango queries need a separate plugin
- Browser storage defaults to IndexedDB limits
- No transaction support is listed
The verdict
PouchDB focuses on local-first JavaScript storage with replication when connectivity returns. Its server protocol requirement and separate Mango plugin are important implementation constraints.
Who it suits
PouchDB suits developers building JavaScript applications that need offline data and synchronization with compatible servers. It is relevant across browser, Node.js, desktop-wrapper, and mobile-wrapper environments.
Plans and prices
Free and open source
Read 8 Oct 2026 · pouchdb.com
On the record
- API
- PouchDB provides an asynchronous API that supports callbacks, promises, and async functions.pouchdb.com · read 8 Oct 2026
- Attachments
- Documents can contain attachments such as images and audio files, stored as base64 data or Blobs.pouchdb.com · read 8 Oct 2026
- Compatibility limit
- PouchDB cannot replicate with a backend that does not speak the CouchDB replication protocol.pouchdb.com · read 8 Oct 2026
- Compatible servers
- The adapters page lists tested support for CouchDB 1.x, 2.x, and 3.x, Cloudant, and PouchDB Server.pouchdb.com · read 8 Oct 2026
- Environments
- PouchDB runs in browsers and Node.js, and can be used in Cordova, PhoneGap, NW.js, Electron, and Chrome apps.pouchdb.com · read 8 Oct 2026
- Integrations
- The project describes itself as framework-agnostic and names Angular, React, Ember, and Backbone as examples.pouchdb.com · read 8 Oct 2026
- Offline use
- Applications can store data locally while offline and synchronize it when they reconnect.pouchdb.com · read 8 Oct 2026
- Project status
- The homepage says Apache PouchDB is undergoing incubation at the Apache Software Foundation.pouchdb.com · read 8 Oct 2026
- Purpose
- PouchDB is an open-source JavaScript database designed to store data locally and sync it with CouchDB and compatible servers.pouchdb.com · read 8 Oct 2026
- Queries
- PouchDB includes a map/reduce API, while its Mango query API is available through a separate pouchdb-find plugin and is not shipped by default.pouchdb.com · read 8 Oct 2026
- Replication
- Its replication API can sync local and remote databases, track future changes, and retry after connection failures when configured to do so.pouchdb.com · read 8 Oct 2026
- Security and compliance
- The opened official pages describe HTTPS database URLs as supported but do not state a security certification or compliance standard.pouchdb.com · read 8 Oct 2026
- Storage
- PouchDB uses IndexedDB in browsers by default and LevelDB in Node.js by default.pouchdb.com · read 8 Oct 2026
- Storage limit
- The adapters page says Cordova SQLite can allow unlimited storage compared with IndexedDB and WebSQL storage limits.pouchdb.com · read 8 Oct 2026
- Support
- The project homepage points users to GitHub Discussions, Slack, and Stack Overflow for discussion.pouchdb.com · read 8 Oct 2026