Apache CouchDB

Decentralized Data Protocol

An open-source NoSQL document database with an HTTP/JSON API, built for reliability and for multi-primary sync that scales from large clusters down to mobile and browser clients. Any CouchDB database, on a server or a device, can replicate with any other over the documented CouchDB Replication Protocol, which synchronises JSON documents between two peers over HTTP/1.1 using the public REST API and the project's multi-version concurrency control (MVCC) model; conflicting edits are detected through revision trees rather than merged automatically. CouchDB is the reference implementation of that protocol, which PouchDB and other tools reuse. It is a project of the Apache Software Foundation .

Foundation

Details

License Permissive (Apache-2.0). https://github.com/apache/couchdb (Erlang, with C, C++ and JavaScript components; Fauxton web console in a separate repository)
Dev Status 🟢 Active
Owner Apache Software Foundation (top-level project: Apache CouchDB PMC)
Governing Body Apache CouchDB Project Management Committee at the Apache Software Foundation
Country United States (the Apache Software Foundation is a US charity; the project's committers are international)
Start Year 2008
Stack Erlang/OTP core, with C, C++ and JavaScript components; HTTP/JSON REST API; Mango queries and map/reduce views; clustering in the 3.x series; packages for Windows, macOS, Debian/Ubuntu and RHEL/CentOS
Funding ASF project supported by volunteer and employer-sponsored committers and ASF sponsorship; no project-level funding stated
Last Investigated Oct 29, 2026

Topology view

This tool in the centre and the things it is directly related to. Each line names the kind of relationship.

Topology view: Apache CouchDBThis tool in the centre and the things it is directly related to. Each line names the kind of relationship.ApacheCouchDBPouchDB (Basis for, Based on)PouchDB
  • PouchDB (Tool): Basis for, Based on

Open in Graph Explorer

Affordances

Local-first storage Data portability Self-hostable

Decentralized Data Protocol Attributes

Origins A reliable, always-available document database that can be replicated between servers and, increasingly, mobile and browser clients, with a plain HTTP/JSON interface any language can use
Database CouchDB: this entry is the database. A document store with MVCC revision trees and, in the 3.x series, clustering (the documentation has a Cluster Management guide)
Query Language HTTP/JSON API; Mango selector queries and map/reduce views (the documentation has a Query Server and API reference)
Data Formats JSON documents with revision identifiers and binary attachments; JSON over HTTP
Collaborative Live Editing Partial: documents replicate between peers and conflicting edits are surfaced as revision conflicts for the application or the deterministic winner rule to resolve; there is no automatic character-level merge
Rich Text Editing Not stated by the project.
Mobile Support Through sync: the home page says CouchDB scales down to mobile; PouchDB and other clients provide the on-device database
Web Support Yes: the Fauxton web console and an HTTP/JSON API usable directly from browsers
Native Apps Server packages for Windows, macOS and Linux; no native client library of its own
Terms Free and open source (Apache-2.0)
Funds Not stated by the project.
Based On Its own MVCC and replication model; the replication protocol is the shared standard that PouchDB and other tools implement
P2P Architecture Peer-to-peer replication between servers and clients: any two CouchDB databases (or compatible stores) replicate with each other over HTTP, in either direction or both, without a coordinator; the project presents this as multi-primary sync. It is not an overlay network, and discovery is manual
Overlay Network None: replication endpoints are addressed by URL; the cluster mode is a data-centre feature, not an overlay
Content Addressing No: documents are addressed by identifier and revision (revision ids are hashes of content), not by content hash
Local-First Enabling: the replication model underpins local-first clients such as PouchDB; the server itself is a conventional database that can run anywhere, including on a user's own hardware
E2EE No: the database stores documents as submitted; transport security is TLS and encryption at rest is left to the platform
CRDTs Lib No: conflicts are tracked with revision trees rather than CRDTs
Byzantine Fault Tolerance No: replication trusts the authenticated peer; the project designs for crash and partition tolerance, not malicious replicas
Signature N/A: documents are not signed; authentication is cookie, basic or proxy-based on the server
Permissions Server-side: per-database admin and member roles with validate_doc_update functions; no end-to-end document permissions
Semantic Web Compatibility N/A: JSON document store with no RDF layer
Smart Contract N/A: no ledger or contract component
Protocol Stack Position Application-layer: HTTP/1.1 REST API and replication protocol
Asset / Value Embedding None: no token or value-transfer mechanism
Protocol Maturity / Standardization Mature: the CouchDB Replication Protocol is written down as a normative specification using RFC 2119 language and is implemented by several independent projects, though it is an ASF project specification rather than an IETF or W3C standard

Relationships

How this tool connects to other tools and organizations, from relationships reviewed by the OpenHaven data steward. They describe how projects connect, not how good they are.

Based on
Basis for