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 .
LicensePermissive (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
OwnerApache Software Foundation (top-level project: Apache CouchDB PMC)
Governing BodyApache CouchDB Project Management Committee at the Apache Software Foundation
CountryUnited States (the Apache Software Foundation is a US charity; the project's committers are international)
Start Year 2008
StackErlang/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
FundingASF 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.
Local-first storage Data portability Self-hostable
Decentralized Data Protocol Attributes
OriginsA 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
DatabaseCouchDB: 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 LanguageHTTP/JSON API; Mango selector queries and map/reduce views (the documentation has a Query Server and API reference)
Data FormatsJSON documents with revision identifiers and binary attachments; JSON over HTTP
Collaborative Live EditingPartial: 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 SupportThrough sync: the home page says CouchDB scales down to mobile; PouchDB and other clients provide the on-device database
Web SupportYes: the Fauxton web console and an HTTP/JSON API usable directly from browsers
Native AppsServer packages for Windows, macOS and Linux; no native client library of its own
TermsFree and open source (Apache-2.0)
Funds Not stated by the project.
Based OnIts own MVCC and replication model; the replication protocol is the shared standard that PouchDB and other tools implement
P2P ArchitecturePeer-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 NetworkNone: replication endpoints are addressed by URL; the cluster mode is a data-centre feature, not an overlay
Content AddressingNo: documents are addressed by identifier and revision (revision ids are hashes of content), not by content hash
Local-FirstEnabling: 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
E2EENo: the database stores documents as submitted; transport security is TLS and encryption at rest is left to the platform
CRDTs LibNo: conflicts are tracked with revision trees rather than CRDTs
Byzantine Fault ToleranceNo: replication trusts the authenticated peer; the project designs for crash and partition tolerance, not malicious replicas
SignatureN/A: documents are not signed; authentication is cookie, basic or proxy-based on the server
PermissionsServer-side: per-database admin and member roles with validate_doc_update functions; no end-to-end document permissions
Semantic Web CompatibilityN/A: JSON document store with no RDF layer
Smart ContractN/A: no ledger or contract component
Protocol Stack PositionApplication-layer: HTTP/1.1 REST API and replication protocol
Asset / Value EmbeddingNone: no token or value-transfer mechanism
Protocol Maturity / StandardizationMature: 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.