SQLCipher
activeby Zetetic LLC · since 2008 · also known as SQLCipher for SQLite
SQLite with transparent 256-bit AES encryption of the whole database file.
Overview
SQLCipher is a fork of SQLite from Zetetic that encrypts every page of the database file with AES-256 and authenticates pages with HMAC, so a stolen device or backup yields nothing readable without the key. Apart from the key pragmas it behaves like SQLite, with the same SQL, file format semantics and tooling. It is the standard answer when mobile or desktop apps must encrypt local data at rest, and libraries such as Room, PowerSync and many Flutter plugins can use it. The Community Edition is BSD-licensed. Commercial editions add prebuilt packages, performance work and FIPS-validated crypto.
Strengths & trade-offs
Strengths
- +Whole-file AES-256 encryption with per-page HMAC tamper detection
- +Full SQLite feature set and SQL compatibility
- +Widely integrated in mobile frameworks and sync SDKs
- +Long track record in password managers and regulated apps
Trade-offs
- −Key management is your problem; a weak or hard-coded key defeats the purpose
- −Encryption adds CPU overhead, most noticeable on large scans
- −Prebuilt binaries for some platforms require a commercial license
Great for
- +Encrypting local data in healthcare, finance and enterprise mobile apps
- +Password managers and secure note apps
- +Desktop apps storing sensitive data offline
Think twice for
- −Server-side multi-user databases
- −Cases where OS-level disk encryption is already sufficient
Capabilities
Native or official first-party support · 9 of 25 tracked
Scale & consistency
- Comfortable data size
- Small · ≤ 100 GB
- Horizontal scaling
- None
- Multi-region
- No
- Transactions
- Full ACID
- Consistency
- Strong
- Schema
- Strict
- Architecture
- Embedded
- Query languages
- SQL
Same single-file limits as SQLite, with a modest encryption overhead.
Deployment
Ecosystem
Alternatives to SQLCipher
The in-process SQL engine that ships in every phone, browser and OS: one file, zero servers.
sqlcipher vs sqlite →Object-oriented mobile database whose MongoDB sync service is gone; the local engine survives as open source.
sqlcipher vs realm →Fast on-device object database with built-in HNSW vector search and an optional commercial sync server.
sqlcipher vs objectbox →Embedded JSON document database with SQL++ queries, vector search and sync to Couchbase.
sqlcipher vs couchbase-lite →Serverless single-file NoSQL document database for .NET, in the spirit of SQLite.
sqlcipher vs litedb →Embarcadero's small-footprint SQL database for servers and embedded apps, with built-in AES encryption.
sqlcipher vs interbase →SQLCipher FAQ
What is SQLCipher?
SQLCipher is a relational database by Zetetic LLC, first released in 2008. SQLCipher is a fork of SQLite from Zetetic that encrypts every page of the database file with AES-256 and authenticates pages with HMAC, so a stolen device or backup yields nothing readable without the key. Apart from the key pragmas it behaves like SQLite, with the same SQL, file format semantics and tooling. It is the standard answer when mobile or desktop apps must encrypt local data at rest, and libraries such as Room, PowerSync and many Flutter plugins can use it. The Community Edition is BSD-licensed. Commercial editions add prebuilt packages, performance work and FIPS-validated crypto.
Is SQLCipher open source?
Yes. SQLCipher is open source. License: BSD 3-Clause (Community Edition); commercial editions.
Does SQLCipher support ACID transactions?
Yes. SQLCipher supports full ACID transactions, with strong consistency.
Does SQLCipher scale horizontally?
SQLCipher does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).
How can I run SQLCipher?
You can self-host it and embed it in your application.
What is SQLCipher best for?
SQLCipher is a strong fit for encrypting local data in healthcare, finance and enterprise mobile apps; password managers and secure note apps; and desktop apps storing sensitive data offline. Think twice for server-side multi-user databases.
What are the best alternatives to SQLCipher?
Common alternatives to SQLCipher include SQLite, Realm (Atlas Device SDK), ObjectBox, Couchbase Lite and LiteDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is SQLCipher?
SQLCipher ranks #190 of 844 databases on the WhichDB Score (17.5/100), and #59 among relational databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.