SQLite
Open SourceSmall. Fast. Reliable. Choose any three.
Published 29 May 2026 · Last updated 27 September 2026
Scores
Popularity5/5
The most widely deployed database in the world — embedded in every iOS and Android device, in browsers, and in countless desktop apps.
Learning Curve1/5
Zero configuration — import a file path and query immediately; no server or schema setup required.
Flexibility3/5
Full SQL support with triggers, CTEs, JSON functions, and FTS5; constrained by single-writer architecture and no native replication.
Performance4/5
Exceptional throughput for single-process read workloads; write-heavy or highly concurrent workloads hit the single-writer bottleneck.
Portability5/5
Public domain licence; single portable file; standard SQL; skills transfer directly to any SQL database.
About SQLite
SQLite is a C-language library that implements a lightweight, self-contained, serverless, zero-configuration SQL database engine. It is the most widely deployed database engine in the world, with billions of instances running across mobile devices, IoT systems, embedded applications, and countless commercial software products.
SQLite's architecture is fundamentally different from traditional client-server databases. It stores the entire database in a single, cross-platform file with no separate server process required. This eliminates the complexity of database administration, networking, and deployment overhead—making it extraordinarily easy to use. The entire engine is under 900 KB when fully configured, yet it provides full SQL support including JSON functions, window functions, common table expressions, and full-text search.
The database is renowned for its reliability and performance. It supports ACID transactions even after system crashes and power failures, with automated testing providing 100% branch test coverage. SQLite is used as the on-device database in every iOS and Android application that needs local persistence—its zero-setup nature makes it ideal for mobile, desktop, CLI tools, and single-process web servers.
SQLite's source code is in the public domain, completely free for any purpose—commercial or private—with no external dependencies. It runs on virtually every platform: Linux, macOS, Windows, iOS, Android, and embedded systems alike.
Key Features
- Zero-configuration serverless SQL — no install, no server process, no config
- Single-file database format, fully portable across platforms
- Full ACID compliance — durable transactions even after crashes and power failures
- Full SQL92 support including JSON functions, window functions, CTEs, and FTS5
- Tiny footprint: under 900 KB fully configured with zero external dependencies
- Public domain: free for any use, commercial or private
- Cross-platform: Linux, macOS, Windows, iOS, Android, embedded systems
- Used as the built-in database in every iOS and Android device
Pros
- Zero administration — no server to install, configure, or maintain
- Single-file database is trivially easy to back up, copy, and version
- Extremely fast for read-heavy single-process workloads
- Perfect for mobile apps, desktop apps, CLI tools, and local-first applications
- Decades of production use with near-perfect reliability record
- No licensing cost or complexity (public domain)
Cons
- Single writer at a time — concurrent write workloads cause contention
- Does not scale horizontally across servers (requires external tools like Turso for replication)
- Not suitable for high-concurrency multi-user web applications
- Performance degrades over network filesystems due to file-locking mechanics
- No built-in replication, failover, or clustering
SQLite Pricing
Open SourceTech Stacks with SQLite
SQLite + Python Local App
ProjectLightweight Python backend with SQLite as an in-process database, ideal for local tools, prototypes, and scripts that need persistence without a database server.
SQLite + Django Local App
ProjectDjango web application using SQLite as the default local database, perfect for getting started without setting up a database server.
Tools Related to SQLite
Integrates with SQLite(14)
expo-sqlite is a first-party Expo SDK package — the standard local database for Expo apps.
rails new defaults to SQLite, and since Rails 8 the framework treats it as a production database, running Solid Cache, Solid Queue, and Solid Cable on SQLite by default.
Every new Django project is configured with SQLite as its default database in settings.py, and Django's ORM ships the SQLite backend built in.
New Laravel applications use SQLite as the default database since Laravel 11, with the database file created during installation.
Node.js ships a built-in node:sqlite module, a release candidate since Node.js 24, giving synchronous SQLite access without installing a native driver package.
Python ships sqlite3 in the standard library — zero-install SQLite access for scripts, CLIs, data tools, and small web apps.
Alternatives to SQLite(5)
Both are relational SQL databases but serve different contexts; MariaDB runs as a multi-client server with replication and clustering while SQLite is embedded and file-based, suited for single-process or local applications.
Both are relational SQL databases but serve very different deployment contexts; MySQL runs as a dedicated server for multi-client workloads while SQLite is embedded and file-based, suited for single-process or local applications.
Cloudflare D1 is a serverless, edge-hosted SQLite database — the same engine as local SQLite, run on Cloudflare's network.
Turso is a distributed, hosted evolution of SQLite built on libSQL — the same engine family, extended with networking and replication.
Both are relational SQL databases, but SQLite is a local embedded file and PostgreSQL is a full client-server system — they serve different deployment contexts.