<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">

<link rel="canonical" href="http://couchdb.apache.org/"/>

<title>Apache CouchDB</title>

<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=rM3dEe7aPK">
<link rel="icon" type="image/png" href="/favicon-32x32.png?v=rM3dEe7aPK" sizes="32x32">
<link rel="icon" type="image/png" href="/favicon-16x16.png?v=rM3dEe7aPK" sizes="16x16">
<link rel="manifest" href="/manifest.json?v=rM3dEe7aPK">
<link rel="mask-icon" href="/safari-pinned-tab.svg?v=rM3dEe7aPK" color="#e42528">
<link rel="shortcut icon" href="/favicon.ico?v=rM3dEe7aPK">
<meta name="theme-color" content="#ffffff">

<!--

Thanks to Yohei Shimomae and the Apache Cordova team for the original design.

-->

<link rel="stylesheet" type="text/css" href="style/master.css">

<script src="script/smooth.js" type="text/javascript"></script>

</head>

<body>

  <a class="scroll-point pt-top" id="top"></a>

  <div id="header">

    <div class="wrap">

      <a class="logo" href="#top"></a>

      <div class="menu">
        <a href="#about">About</a>
        <a href="http://docs.couchdb.org">Docs</a>
        <a href="#contribute">Contribute</a>
        <a href="http://blog.couchdb.org">News</a>
        <a href="#download">Download</a>
        <a href="#more">More&hellip;</a>
      </div>

      <form class="menu-dropdown">
        <select onchange="location = this.options[this.selectedIndex].value;">
          <option value="">Menu</option>
          <option value="">----</option>
          <option value="#about">About</option>
          <option value="http://docs.couchdb.org">Docs</option>
          <option value="#contribute">Contribute</option>
          <option value="http://blog.couchdb.org">News</option>
          <option value="#download">Download</option>
          <option value="#more">More&hellip;</option>
        </select>
      </form>

    </div>

    <div class="shadow"></div>

  </div>

  <div class="header-placeholder"></div>

  <div class="grid leadin">

    <div class="wrap">

      <img src="image/couch@2x.png" alt=""/>

      <ul class="text-block">
        <li><h1><strong>Seamless</strong> multi-master sync, that</h1></li>
        <li><h1>scales from <strong>Big Data</strong> to <strong>Mobile,</strong></h1></li>
        <li><h1>with an <strong>Intuitive</strong> HTTP/JSON API</h1></li>
        <li><h1>and designed for <strong>Reliability.</strong></h1></li>
      </ul>

      <div class="button-container">
        <a class="button" href="#download">DOWNLOAD<small class="download-version">2.0.0 (Sept. 20th 2016)</small></a>
      </div>

    </div>

  </div>

  <a class="scroll-point pt-about" id="about"></a>

  <div class="feature">
    <div class="wrap">
      <h2 class="icon icon-about">Data Where You Need It</h2>

      <p>

        Apache CouchDB&trade; lets you access your data where you need it by defining the
        <strong><a href="http://docs.couchdb.org/en/master/replication/protocol.html" title="4.2. Couch Replication Protocol &mdash; Apache CouchDB 2.0 Documentation
">Couch Replication Protocol</a></strong> that is implemented by a variety of projects and
        products that span every imaginable computing environment <strong>from globally distributed
        server-clusters</strong>, over <strong>mobile phones</strong> to <strong>web browsers</strong>.
        Software that is compatible with the Couch Replication Protocol include: <a
        href="https://pouchdb.com/">PouchDB</a>, <a
        href="https://en.wikipedia.org/wiki/Cloudant">Cloudant</a>, and <a
        href="https://en.wikipedia.org/wiki/Couchbase_Lite">Couchbase Lite</a>.

      </p>

      <p>

        Store your data <strong>safely</strong>, on your own servers, or with any leading cloud
        provider. Your web- and native applications love CouchDB, because it speaks <strong>JSON
        natively</strong> and supports binary <strong></strong> for all your data storage needs.
        <strong><a href="http://docs.couchdb.org/en/master/replication/protocol.html" title="4.2. CouchDB Replication Protocol &mdash; Apache CouchDB 2.0 Documentation">The Couch Replication Protocol</a></strong> lets your data flow seamlessly between
        server clusters to mobile phones and web browsers, enabling a compelling, <strong><a
        href="http://offlinefirst.org">offline-first</a></strong> user-experience while maintaining
        high performance and strong reliability. CouchDB comes with a <strong>developer-friendly
        query language</strong>, and optionally MapReduce for simple, efficient, and comprehensive
        data retrieval.

    </p>

      <p>See the <a href="http://docs.couchdb.org/en/stable/intro/why.html">introduction</a>, <a href="http://docs.couchdb.org/en/stable/intro/overview.html">technical overview</a> for more information, or learn <a href="https://blog.couchdb.org/2016/08/23/check-out-the-road-to-couchdb-2-0-series/">What’s new in 2.0</a>

    </div>

    <div class="grid features">
      <div class="wrap cf">
        <div class="skill-card">
          <div class="stripe"></div>
          <div class="skill-card-content">
            <h3>
              <span class="core card-icon"></span>
              <span class="skill-card-heading-text">Single Node Database</span>
            </h3>
            <p class="skill-card-slogan">
              CouchDB is a terrific single-node database that works just like any other database
              behind an application server of your choice.
              <br><br>
              Most people start with a single node CouchDB instance. More demanding projects can
              seamlessly upgrade to a cluster.
            </p>
          </div>
        </div>

        <div class="skill-card">
          <div class="stripe"></div>
          <div class="skill-card-content">
            <h3>
              <span class="fauxton card-icon"></span>
              <span class="skill-card-heading-text">Cluster</span>
            </h3>
            <p class="skill-card-slogan">
              CouchDB is <em>also</em> a clustered database that allows you to run a single logical
              database server on any number of servers or VMs.
              <br><br>

              A CouchDB cluster improves on the single-node setup with higher capacity and
              high-availability without changing any APIs.

            </p>
          </div>
        </div>

        <div class="skill-card">
          <div class="stripe"></div>
          <div class="skill-card-content">
            <h3>
              <span class="marketing card-icon"></span>
              <span class="skill-card-heading-text">HTTP/JSON</span>
            </h3>
            <p class="skill-card-slogan">
              CouchDB makes use of the ubiquitous HTTP protocol and JSON data format and is
              compatible with any software that supports them. CouchDB also works great with
              external tools like HTTP proxy servers, load balancers.
            </p>
          </div>
        </div>
      </div>

      <div class="wrap cf">

        <div class="skill-card">
          <div class="stripe"></div>
          <div class="skill-card-content">
            <h3>
              <span class="website card-icon"></span>
              <span class="skill-card-heading-text">Offline First Data Sync</span>
            </h3>
            <p class="skill-card-slogan">

              CouchDB’s uniqe <a href="http://docs.couchdb.org/en/master/replication/protocol.html">Replication Protocol</a> is the
              foundation for a whole new generation of <a href="http://offlinefirst.org/">“Offline
              First”</a> applications for Mobile applications and other environments with <a
              href="https://www.youtube.com/watch?v=1sLjWlWvCsc">challenging
              network infrastructures</a>.

            </p>
          </div>
        </div>

        <div class="skill-card">
          <div class="stripe"></div>
          <div class="skill-card-content">
            <h3>
              <span class="documentation card-icon"></span>
              <span class="skill-card-heading-text">Ecosystem</span>
            </h3>
            <p class="skill-card-slogan">

              CouchDB is built for servers (from a Raspberry Pi to big cloud installations), while
              PouchDB is built for mobile &amp; desktop web-browsers and Couchbase Lite is built for
              native iOS &amp; Android apps.

              <br><br>

              And all of them can seamlessly replicate data with each other.

            </p>

          </div>
        </div>

        <div class="skill-card">
          <div class="stripe"></div>
          <div class="skill-card-content">
            <h3>
              <span class="guidance card-icon"></span>
              <span class="skill-card-heading-text">Reliability</span>
            </h3>
            <p class="skill-card-slogan">

              CouchDB is serious about data reliability.
              <br><br>

              Individual nodes use a crash-resistent append-only data structure. A multi-node
              CouchDB cluster saves all data redundantly, so it is always available when you need
              it.
            </p>
          </div>
        </div>
      </div>
    </div>

  </div>

  <a class="scroll-point" id="contribute"></a>

  <hr>

  <div class="feature">
    <div class="wrap">
      <h2 class="icon icon-contribute">Want to Contribute?</h2>

      <p><strong>We welcome your contributions. </strong>CouchDB is an open source project. Everything, from this website to the core of the database itself, has been contributed by helpful individuals. The time and attention of our contributors is our most precious resource, and we always need more of it. Our primary goal is to build a welcoming, supporting, inclusive and diverse community. We abide by <a href="http://couchdb.apache.org/conduct.html">Code of Conduct</a> and a set of <a href="http://couchdb.apache.org/bylaws.html">Project Bylaws</a>. Come join us!
      </p>
    </div>
    <div class="grid contribute">
      <div class="wrap cf">
        <div class="skill-card">
          <div class="stripe"></div>
          <div class="skill-card-content">
            <h3>
              <span class="core card-icon"></span>
              <span class="skill-card-heading-text">CouchDB Core</span>
            </h3>
            <p class="skill-card-slogan">
              Help shape the future of CouchDB! There’s still plenty of work to be
              done on the core database. We use JIRA to track issues and GitHub for
              pull requests.
            </p>
            <ul>

              <li>&mdash; <a href="https://github.com/apache?query=couchdb">CouchDB on GitHub</a></li>
              <li>&mdash; <a href="https://issues.apache.org/jira/browse/COUCHDB/?selectedTab=com.atlassian.jira.jira-projects-plugin:issues-panel">Issue tracker</a></li>
              <li>&mdash; <a href="http://mail-archives.apache.org/mod_mbox/couchdb-dev/">Dev mailing list</a></li>
            </ul>
          </div>
        </div>

        <div class="skill-card">
          <div class="stripe"></div>
          <div class="skill-card-content">
            <h3>
              <span class="fauxton card-icon"></span>
              <span class="skill-card-heading-text">Fauxton</span>
            </h3>
            <p class="skill-card-slogan">
              Lend your JavaScript skills to the next-generation web UI for CouchDB.
              Fauxton is the “killer app” that makes CouchDB so powerful and easy to manage.
            </p>
            <ul>
              <li>&mdash; <a href="fauxton-visual-guide/index.html">Fauxton, a Visual Guide</a></li>
              <li>&mdash; <a href="https://github.com/apache/couchdb-fauxton">Fauxton on GitHub</a></li>
              <li>&mdash; <a href="http://docs.couchdb.org/en/latest/fauxton/addons.html">Writing an Addon</a></li>
            </ul>
          </div>
        </div>

        <div class="skill-card">
          <div class="stripe"></div>
          <div class="skill-card-content">
            <h3>
              <span class="marketing card-icon"></span>
              <span class="skill-card-heading-text">Marketing</span>
            </h3>
            <p class="skill-card-slogan">
              We’re not just building a database – we’re crafting the CouchDB story.
              Help us promote CouchDB: plan meetups, make video tutorials, write blog posts.
            </p>
            <ul>
              <li>&mdash; <a href="https://cwiki.apache.org/confluence/display/COUCHDB/Meetups">CouchDB Meetups</a></li>
              <li>&mdash; <a href="http://mail-archives.apache.org/mod_mbox/couchdb-marketing/">Marketing Mailing List</a></li>
              <li>&mdash; <a href="https://twitter.com/CouchDB">Tweet us a link</a></li>
            </ul>
          </div>
        </div>
      </div>

      <div class="wrap cf">

        <div class="skill-card">
          <div class="stripe"></div>
          <div class="skill-card-content">
            <h3>
              <span class="website card-icon"></span>
              <span class="skill-card-heading-text">Website</span>
            </h3>
            <p class="skill-card-slogan">
              Got a few suggestions for the very website you’re reading right now?
              Think the UX, copy, or layout could be better? Welcome! We’d love to hear from you.
            </p>
            <ul>
              <li>&mdash; <a href="https://github.com/apache/couchdb-www">Website on GitHub</a></li>
              <li>&mdash; <a href="http://mail-archives.apache.org/mod_mbox/couchdb-marketing/">Marketing mailing list</a></li>
              <li>&mdash; <a href="http://mail-archives.apache.org/mod_mbox/couchdb-www/">Website mailing list</a></li>
            </ul>
          </div>
        </div>

        <div class="skill-card">
          <div class="stripe"></div>
          <div class="skill-card-content">
            <h3>
              <span class="documentation card-icon"></span>
              <span class="skill-card-heading-text">Documentation</span>
            </h3>
            <p class="skill-card-slogan">
              Docs can be improved indefinitely. If you’ve got a flair for technical writing,
              help us make the docs clearer, better structured, or even translate them.
            </p>
            <ul>
              <li>&mdash; <a href="https://cwiki.apache.org/confluence/display/COUCHDB/Apache+CouchDB+Wiki">CouchDB wiki</a></li>
              <li>&mdash; <a href="https://github.com/apache/couchdb-documentation">Docs on GitHub</a></li>
              <li>&mdash; <a href="https://cwiki.apache.org/confluence/display/COUCHDB/Translation+Guide">Translation Guide</a></li>
            </ul>
          </div>
        </div>

        <div class="skill-card">
          <div class="stripe"></div>
          <div class="skill-card-content">
            <h3>
              <span class="guidance card-icon"></span>
              <span class="skill-card-heading-text">Guidance</span>
            </h3>
            <p class="skill-card-slogan">
              You can be the first person someone interacts with when they have a question.
              Giving guidance is a great way to help others while learning CouchDB.
            </p>
            <ul>
              <li>&mdash; <a href="http://webchat.freenode.net/?channels=#couchdb">Official CouchDB chat</a></li>
              <li>&mdash; <a href="http://stackoverflow.com/questions/tagged/couchdb">Stackoverflow questions</a></li>
              <li>&mdash; <a href="https://issues.apache.org/jira/browse/COUCHDB/?selectedTab=com.atlassian.jira.jira-projects-plugin:issues-panel">Jira issues</a></li>
            </ul>
          </div>
        </div>
      </div>
    </div>
  </div>

  <a class="scroll-point" id="mailing-lists"></a>

  <div class="wrap">
    <h2 class="icon icon-mailing-lists">Mailing Lists</h2>
  </div>

  <div class="grid">

    <div class="wrap">

      <div class="corner"></div>

      <br/>

      <div class="list-header">
        <a href="http://mail-archives.apache.org/mod_mbox/couchdb-announce/"><strong>Mail Search</strong></a>
        <p>Search all of our mailing lists at once.</p>
      </div>

      <div class="list mailing-list">
        <form action="http://markmail.org/search/list:org.apache.couchdb-*">
          <input id="search-box" type="text" placeholder="Search query&hellip;" name="q" size="50"><button id="search-button"></button>
        </form>
      </div>

      <br>

      <div class="list-header">
        <a href="http://mail-archives.apache.org/mod_mbox/couchdb-announce/"><strong>Announcement List</strong></a>
        <a id="announcement-mailing-list" class="hash-target">&nbsp;</a>
        <a href="mailto:announce-subscribe@couchdb.apache.org">Subscribe</a> &middot;
        <a href="mailto:announce@couchdb.apache.org">Post</a> &middot;
        <a href="mailto:announce-unsubscribe@couchdb.apache.org">Unsubscribe</a>
        <p>This is a low-traffic list for release announcements and security disclosures.</p>
      </div>

      <div class="list-header">
        <a href="http://mail-archives.apache.org/mod_mbox/couchdb-user/"><strong>User List</strong></a>
        <a id="user-mailing-list" class="hash-target">&nbsp;</a>
        <a href="mailto:user-subscribe@couchdb.apache.org">Subscribe</a> &middot;
        <a href="mailto:user@couchdb.apache.org">Post</a> &middot;
        <a href="mailto:user-unsubscribe@couchdb.apache.org">Unsubscribe</a>
        <p>This is a general discussion and support forum for all CouchDB users.</p>
      </div>

      <div class="list-header">
        <a href="http://mail-archives.apache.org/mod_mbox/couchdb-l10n/"><strong>Localisation List</strong></a>
        <a id="localisation-mailing-list" class="hash-target">&nbsp;</a>
        <a href="mailto:l10n-subscribe@couchdb.apache.org">Subscribe</a> &middot;
        <a href="mailto:l10n@couchdb.apache.org">Post</a> &middot;
        <a href="mailto:l10n-unsubscribe@couchdb.apache.org">Unsubscribe</a>
        <p>Do you speak more than one language? Help us to translate CouchDB!</p>
      </div>

      <div class="list-header">
        <a href="http://mail-archives.apache.org/mod_mbox/couchdb-replication/"><strong>Replication List</strong></a>
        <a id="replication-mailing-list" class="hash-target">&nbsp;</a>
        <a href="mailto:replication-subscribe@couchdb.apache.org">Subscribe</a> &middot;
        <a href="mailto:replication@couchdb.apache.org">Post</a> &middot;
        <a href="mailto:replication-unsubscribe@couchdb.apache.org">Unsubscribe</a>
        <p>A place to discuss CouchDB-compatible replication, and the systems that implement it.</p>
      </div>

      <div class="list-header">
        <a href="http://mail-archives.apache.org/mod_mbox/couchdb-marketing/"><strong>Marketing List</strong></a>
        <a id="marketing-mailing-list" class="hash-target">&nbsp;</a>
        <a href="mailto:marketing-subscribe@couchdb.apache.org">Subscribe</a> &middot;
        <a href="mailto:marketing@couchdb.apache.org">Post</a> &middot;
        <a href="mailto:marketing-unsubscribe@couchdb.apache.org">Unsubscribe</a>
        <p>A place to co-ordinate on CouchDB marketing activities.</p>
      </div>

      <div class="list-header">
        <a href="http://mail-archives.apache.org/mod_mbox/couchdb-dev/"><strong>Developer List</strong></a>
        <a id="developer-mailing-list" class="hash-target">&nbsp;</a>
        <a href="mailto:dev-subscribe@couchdb.apache.org">Subscribe</a> &middot;
        <a href="mailto:dev@couchdb.apache.org">Post</a> &middot;
        <a href="mailto:dev-unsubscribe@couchdb.apache.org">Unsubscribe</a>
        <p>This is where people working on CouchDB itself get together and discuss things.</p>
      </div>

      <div class="list-header">
        <a href="http://mail-archives.apache.org/mod_mbox/couchdb-www/"><strong>Website List</strong></a>
        <a id="website-mailing-list" class="hash-target">&nbsp;</a>
        <a href="mailto:www-subscribe@couchdb.apache.org">Subscribe</a> &middot;
        <a href="mailto:www@couchdb.apache.org">Post</a> &middot;
        <a href="mailto:www-unsubscribe@couchdb.apache.org">Unsubscribe</a>
        <p>The mailing list for discussing this website</p>
      </div>

      <div class="list-header">
        <a href="http://mail-archives.apache.org/mod_mbox/couchdb-commits/"><strong>Commits List</strong></a>
        <a id="commits-mailing-list" class="hash-target">&nbsp;</a>
        <a href="mailto:commits-subscribe@couchdb.apache.org">Subscribe</a> &middot;
        <a href="mailto:commits@couchdb.apache.org">Post</a> &middot;
        <a href="mailto:commits-unsubscribe@couchdb.apache.org">Unsubscribe</a>
        <p>This is where all source code changes and wiki changes are sent.</p>
      </div>

      <div class="list-header">
        <a href="http://mail-archives.apache.org/mod_mbox/couchdb-notifications/"><strong>Notifications</strong></a>
        <a id="notifications-mailing-list" class="hash-target">&nbsp;</a>
        <a href="mailto:notifications-subscribe@couchdb.apache.org">Subscribe</a> &middot;
        <a href="mailto:notifications@couchdb.apache.org">Post</a> &middot;
        <a href="mailto:notifications-unsubscribe@couchdb.apache.org">Unsubscribe</a>
        <p>A single stream of generated notification from JIRA, GitHub etc.</p>
      </div>

      <div class="list-header">
        <a href="http://mail-archives.apache.org/mod_mbox/couchdb-design/"><strong>Design</strong></a>
        <a id="notifications-mailing-list" class="hash-target">&nbsp;</a>
        <a href="mailto:design-subscribe@couchdb.apache.org">Subscribe</a> &middot;
        <a href="mailto:design@couchdb.apache.org">Post</a> &middot;
        <a href="mailto:design-unsubscribe@couchdb.apache.org">Unsubscribe</a>
        <p>A place for UI/UX designers and enthusiasts to discuss Fauxton, the CouchDB website, and any other design related topics.</p>
      </div>

    </div>

  </div>

  <a class="scroll-point" id="download"></a>

  <hr>

  <div class="wrap download-pane">
    <h2 class="icon icon-download">Download CouchDB 2.0.0</h2>
  </div>

  <div class="grid">

    <div class="wrap">

      <div class="corner"></div>

      <div class="download-list-container">

        <ul class="list download-list">
          <li>
            <a href="https://www.apache.org/dyn/closer.lua?path=/couchdb/source/2.0.0/apache-couchdb-2.0.0.tar.gz" class="type">Source</a>
            <span class="info">
              Version 2.0.0 |
              <a href="http://docs.couchdb.org/en/latest/whatsnew/2.0.html" class="release">Release Notes</a> |
              <a href="https://www.apache.org/dist/couchdb/source/2.0.0/apache-couchdb-2.0.0.tar.gz.asc">OpenPGP</a> |
              <a href="https://www.apache.org/dist/couchdb/source/2.0.0/apache-couchdb-2.0.0.tar.gz.md5">MD5</a> |
              <a href="https://www.apache.org/dist/couchdb/source/2.0.0/apache-couchdb-2.0.0.tar.gz.sha1">SHA1</a> |
              <a href="https://www.apache.org/dist/couchdb/source/2.0.0/apache-couchdb-2.0.0.tar.gz.sha256">SHA256</a>
            </span>
          </li>
          <li>
            <a href="https://dl.bintray.com/apache/couchdb/win/2.0.0/apache-couchdb-2.0.0.msi" class="type">
              Windows (x86)
            </a>
            <span class="info">
              Erlang/OTP 17.5 | Version 2.0.0 |
              <a href="http://docs.couchdb.org/en/latest/whatsnew/2.0.html" class="release">Release Notes</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/win/2.0.0/apache-couchdb-2.0.0.msi.asc">OpenPGP</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/win/2.0.0/apache-couchdb-2.0.0.msi.md5">MD5</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/win/2.0.0/apache-couchdb-2.0.0.msi.sha1">SHA1</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/win/2.0.0/apache-couchdb-2.0.0.msi.sha256">SHA256</a>
            </span>
          </li>
          <li>
            <a href="https://dl.bintray.com/apache/couchdb/mac/2.0.0/Apache-CouchDB-2.0.0.zip" class="type">
              Mac OS X (10.6+)
            </a>
            <span class="info">
              Erlang/OTP 19.0.2 | Version 2.0.0 |
              <a href="http://docs.couchdb.org/en/latest/whatsnew/2.0.html" class="release">Release Notes</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/mac/2.0.0/Apache-CouchDB-2.0.0.zip.asc">OpenPGP</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/mac/2.0.0/Apache-CouchDB-2.0.0.zip.md5">MD5</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/mac/2.0.0/Apache-CouchDB-2.0.0.zip.sha1">SHA1</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/mac/2.0.0/Apache-CouchDB-2.0.0.zip.sha256">SHA256</a>
            </span>
          </li>
          <!-- <li>
            <a href="https://launchpad.net/~couchdb/+archive/stable" class="type">Ubuntu packages</a>
            <span class="info">
            Version 2.0.0 |
            <a href="http://docs.couchdb.org/en/latest/whatsnew/1.6.html" class="release">Release Notes</a>
            </span>
          </li> -->
        </ul>

      </div>

    </div>

  </div>

  <div class="wrap download-pane">
    <h2 class="icon icon-download">Download CouchDB 1.6.1</h2>
  </div>

  <div class="grid">

    <div class="wrap">

      <div class="corner"></div>

      <div class="download-list-container">

        <ul class="list download-list">
          <li>
            <a href="https://www.apache.org/dyn/closer.lua?path=/couchdb/source/1.6.1/apache-couchdb-1.6.1.tar.gz" class="type">Source</a>
            <span class="info">
              Version 1.6.1 |
              <a href="http://docs.couchdb.org/en/latest/whatsnew/1.6.html" class="release">Release Notes</a> |
              <a href="https://www.apache.org/dist/couchdb/source/1.6.1/apache-couchdb-1.6.1.tar.gz.asc">OpenPGP</a> |
              <a href="https://www.apache.org/dist/couchdb/source/1.6.1/apache-couchdb-1.6.1.tar.gz.md5">MD5</a> |
              <a href="https://www.apache.org/dist/couchdb/source/1.6.1/apache-couchdb-1.6.1.tar.gz.sha">SHA</a>
            </span>
          </li>
          <li>
            <a href="https://dl.bintray.com/apache/couchdb/win/1.6.1/setup-couchdb-1.6.1_R16B02.exe" class="type">
              Windows (x86)
            </a>
            <span class="info">
              Erlang/OTP R16B02 | Version 1.6.1 |
              <a href="http://docs.couchdb.org/en/latest/whatsnew/1.6.html" class="release">Release Notes</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/win/1.6.1/setup-couchdb-1.6.1_R16B02.exe.asc">OpenPGP</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/win/1.6.1/setup-couchdb-1.6.1_R16B02.exe.md5">MD5</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/win/1.6.1/setup-couchdb-1.6.1_R16B02.exe.sha">SHA</a>
            </span>
          </li>
          <li>
            <a href="https://dl.bintray.com/apache/couchdb/mac/1.6.1/Apache-CouchDB-1.6.1.zip" class="type">
              Mac OS X (10.6+)
            </a>
            <span class="info">
              Erlang/OTP R16B01 | Version 1.6.1 |
              <a href="http://docs.couchdb.org/en/latest/whatsnew/1.6.html" class="release">Release Notes</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/mac/1.6.1/Apache-CouchDB-1.6.1.zip.asc">OpenPGP</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/mac/1.6.1/Apache-CouchDB-1.6.1.zip.md5">MD5</a> |
              <a href="https://www.apache.org/dist/couchdb/binary/mac/1.6.1/Apache-CouchDB-1.6.1.zip.sha">SHA</a>
            </span>
          </li>
              <li>
                    <a href="https://launchpad.net/~couchdb/+archive/stable" class="type">Ubuntu packages</a>
                    <span class="info">
                  Version 1.6.1 |
                  <a href="http://docs.couchdb.org/en/latest/whatsnew/1.6.html" class="release">Release Notes</a>
                </span>
          </li>
        </ul>

      </div>

    </div>

  </div>

  <a class="scroll-point" id="more"></a>

  <hr>

  <div class="wrap more-pane">

    <h2 class="icon icon-more">More &hellip;</h2>

    <br>

    <ul class="more-header">
      <li>General</li>
      <li>Development</li>
      <li class="last">Apache Software Foundation</li>
    </ul>

    <div class="clear"></div>

  </div>

  <div class="grid">

    <div class="wrap">

      <div class="list-container">

        <ul class="list more">
          <li class="corner"></li>
          <li><a href="http://docs.couchdb.org">Documentation<span></span></a>
          <li><a href="https://cwiki.apache.org/confluence/display/COUCHDB/Current+Releases">Current Releases<span></span></a></li>
          <li><a href="http://blog.couchdb.org/">Blog<span></span></a>
          <li><a href="http://couchdb.apache.org/bylaws.html">Bylaws<span></span></a>
          <li><a href="http://couchdb.apache.org/conduct.html">Code of Conduct<span></span></a>
          <li><a href="https://cwiki.apache.org/confluence/display/COUCHDB/Professional+Services">Professional Services<span></span></a>
        </ul>

        <ul class="list more">
          <li class="corner"></li>
          <li><a href="http://wiki.apache.org/couchdb/">Wiki<span></span></a></li>
          <li><a href="https://issues.apache.org/jira/browse/CouchDB">Issue Tracker<span></span></a></li>
          <li><a href="https://github.com/apache/couchdb/pulls">Pull Requests<span></span></a></li>
          <li><a href="https://github.com/apache?query=couchdb">Git Mirrors<span></span></a></li>
        </ul>

        <ul class="list more last">
          <li class="corner"></li>
          <li><a href="http://www.apache.org/">About the ASF<span></span></a></li>
          <li><a href="http://www.apache.org/foundation/thanks.html">Thanks<span></span></a></li>
          <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor<span></span></a></li>
          <li><a href="http://www.apache.org/security/">Security<span></span></a></li>
          <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License<span></span></a></li>
        </ul>

        <div class="clear"></div>

      </div>

    </div>

  </div>

  <div id="footer">

    <p>Copyright &copy; 2016 The Apache Software Foundation &mdash; Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a><br>
      Apache CouchDB, CouchDB, and the project logo are <a href="http://www.apache.org/foundation/marks/list/">trademarks</a> of The Apache Software Foundation</p>

    <a class="closing" href="#top"></a>

  </div>

  <script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-658988-6']);
    _gaq.push(['_setDomainName', 'apache.org']);
    _gaq.push(['_setAllowLinker', true]);
    _gaq.push(['_trackPageview']);

    (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
  </script>
  <script type="text/javascript" src="script/jira.js"></script>
  <script>
    $(document).ready(function () {
      $('.download-list').on('click', function (e) {
        if (!$(e.target).attr('href')) {
          return;
        }
        _gaq.push(['_trackEvent', 'Click', 'Download', $(e.target).attr('href')]);
      });
    });
  </script>
</body>

</html>
