# s3nd vs PouchDB

> A PouchDB alternative that does not need a CouchDB. What PouchDB is, where the two overlap, where they differ, and when to pick each.

Canonical: https://www.s3nd.sh/alternatives/pouchdb · Markdown: https://www.s3nd.sh/alternatives/pouchdb.md · Français: https://www.s3nd.sh/fr/alternatives/pouchdb

IndexedDB in the browser, the same data on another device, and a design that treats offline as normal rather than as an error.

## What PouchDB is
A JavaScript database that runs in the browser, on IndexedDB, and replicates with CouchDB or anything that speaks its replication protocol. Bidirectional, incremental, with conflict detection through revision trees, and around for over a decade.

Website: https://pouchdb.com

## Where they part ways.
| | s3nd | PouchDB |
| --- | --- | --- |
| What it is | A CLI, a library and React hooks over your own S3 bucket | Browser database with CouchDB replication |
| Where the data lives | Your bucket: S3, R2, MinIO, Scaleway, Wasabi | A CouchDB server, or a compatible one |
| Both ends online at once | No. The code is redeemed later, until it expires | No |
| From inside your web app | Yes, through one route on your server | Yes |
| Accounts | None. The code is the whole handshake | CouchDB authentication |
| Hosting | Your bucket, plus your server when a browser takes part | Self-hosted or hosted CouchDB |
| Price | Free. You pay your storage provider for a few objects that expire | Free |
| License | MIT | Apache-2.0 |

## What actually changes.
- **A database versus a snapshot of yours** — PouchDB is the database, with its document model and its revisions. s3nd leaves your database alone, whatever it is, and moves an export of it.
- **A CouchDB versus a bucket** — Replication needs a CouchDB, or a compatible server, running somewhere. s3nd needs object storage and nothing else.
- **Continuous replication versus a code** — PouchDB syncs as long as it is connected. s3nd moves the data once, when the user asks, and the code is the only credential.

## Pick the one that fits.
### Pick PouchDB when
- You want a database that syncs, with revisions and conflicts as first-class concepts.
- A CouchDB you already run, or a hosted one you are happy to rent.
- Continuous bidirectional replication is the feature.

### Pick s3nd when
- You keep your own IndexedDB schema and your own wrapper.
- Object storage is all you want to run.
- New device with a code, backup, or encrypted export.
