🐨 - PouchDB is a pocket-sized database.
JavaScript Other
Pull request Compare This branch is 642 commits behind pouchdb:master.
Failed to load latest commit information.
bin (#5203) - fix rebuild before `npm t` May 23, 2016
packages (#5197) - detect WebSQL invalid on WKWebView May 23, 2016
scripts (#913) - Add basic tests to new suite, compile tests to html Sep 2, 2013
tests (#5200) - Don't clone special objects like Workers May 23, 2016
.eslintignore (#5128) - split PouchDB into a monorepo with separate packages May 20, 2016
.eslintrc.json (#5069) - Fix eslint rules Apr 17, 2016
.gitignore (#5128) - split PouchDB into a monorepo with separate packages May 20, 2016
.travis.yml (#5190) - selectively install CouchDB on Travis May 22, 2016
CODE_OF_CONDUCT.md (#4006) - fix typo in CoC Jun 30, 2015
CONTRIBUTING.md (#5128) - split PouchDB into a monorepo with separate packages May 20, 2016
ISSUE_TEMPLATE.md (#5181) - add an issue template May 20, 2016
LICENSE (#1144) - Remove jQuery section in license Dec 15, 2013
README.md (#4207) - Add slack to places to contact us Aug 28, 2015
TESTING.md (#5151) - Fix running coverage tests locally May 15, 2016
lerna.json (#5128) - split PouchDB into a monorepo with separate packages May 20, 2016
package.json (#5188) - improve watch+rebuild speed during dev May 22, 2016


PouchDB – The Database that Syncs!

Build Status Coverage Status

PouchDB is an open-source JavaScript database inspired by Apache CouchDB that is designed to run well within the browser.

PouchDB was created to help web developers build applications that work as well offline as they do online.

Using PouchDB

To get started using PouchDB, check out the web site and API documentation.

Getting Help

The PouchDB community is active on Freenode IRC, Slack,in the Google Groups mailing list, and on StackOverflow. Or you can tweet @pouchdb!

If you think you've found a bug in PouchDB, please write a reproducible test case and file a Github issue. We recommend bl.ocks.org for code snippets, because some iframe-based services like JSFiddle and JSBin do not support IndexedDB in all browsers. You can start with this template.

Nightly Build

If you like to live on the bleeding edge, you can find the PouchDB nightly builds at pouchtest.com/nightly.


PouchDB follows semantic versioning. To see a changelog with all PouchDB releases, check out the Github releases page.

For a concise list of breaking changes, there's the wiki list of breaking changes.

Keep in mind that PouchDB is auto-migrating, so a database created in 1.0.0 will still work if you open it in 4.0.0+. Any release containing a migration is clearly marked in the release notes.


We're always looking for new contributors! If you'd like to try your hand at writing code, writing documentation, designing the website, writing a blog post, or answering questions on StackOverflow, then we'd love to have your input.

If you have a pull request that you'd like to submit, please read the contributing guide for info on style, commit message format, and other (slightly!) nitpicky things like that. PouchDB is heavily tested, so you'll also want to check out the testing guide.