PouchDB – a CouchDB-inspired Offline Web Database

| by Abel Avram Follow 9 Followers on Jun 07, 2012. Estimated reading time: 1 minute |

Inspired by Apache CouchDB, PouchDB (Portable CouchDB) is a small footprint database for web and especially mobile applications that need a browser-based storage solution that can be used offline. The database can be synchronized with CouchDB databases or other PouchDBs when the device comes back online.

PouchDB is actually a JavaScript library, 131KB in size in compressed form, that currently can perform the following set of basic tasks: create/query/replicate/delete a database, create/fetch/update/delete document(s), retrieving database information and listening to database changes.

The database also comes with an HTTP RESTful adapter that can be used to synchronize its content with other CouchDB/PouchDB databases.

PouchDB uses the HTML5 IndexedDB API to access the underlying storage engine used by the browser, SQLite in Firefox and LevelDB in Chrome. Work is in progress to support Web SQL, Local Storage and node.js. Unfortunately, Web SQL has been deprecated by W3C, but PouchDB will still support it because “mobile browsers support for IndexedDB is lagging far behind Web SQL”, according to Dale Harvey, the creator of PouchDB.

When we asked what are possible scenarios where PouchDB becomes useful, Harvey said:

Any web application (mobile of otherwise) that is required to work offline (which I believe most of them should). Any application that works offline as well as 'in the cloud' is going to have to deal with the issues of syncing data reliably, and so I think could potentially use PouchDB. The obvious examples are things like To-do lists / data management type apps.

Comparing PouchDB with a CouchDB offline installation, Harvey added:

CouchDB works great on the server, however it is obviously impossible to work with in an offline web application. PouchDB is a tiny embeddable CouchDB that can work in the browser and talk to your much more fully featured CouchDB when it is online.

PouchDB is currently in alpha and has been tested with Firefox +12 and Google 19+. It is likely work with all the browsers that implement the IndexedDB API. The code is available on GitHub under an Apache 2.0 license.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread


Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you