An open source, open contribution fork of SQLite that adds embedded replicas, a remote server mode, and extensions to the SQLite core.
tursodatabase/turso
An in-process SQL database written in Rust, compatible with SQLite's dialect, file format and C API, with an experimental Postgres frontend.
- Stars
- 24,937
- Forks
- 1,474
- Open issues
- 1,404
- Last commit
- 4 hours ago
What is it?
Turso Database is an in-process SQL database written in Rust. It aims for compatibility with SQLite at the SQL dialect, file format and C API levels, so existing SQLite database files can be used directly. It is built on a virtual machine (VDBE) that compiles SQL into bytecode, the same general approach SQLite uses, and the project's goal is to let multiple SQL frontends share that core.
Beyond SQLite compatibility, the project offers BEGIN CONCURRENT with multi-version concurrency control, change data capture, asynchronous I/O on Linux via io_uring, and vector search with exact matching. Bindings are provided for Rust, JavaScript/WebAssembly, Python, Go, Java, and .NET, and the CLI includes an MCP server mode so AI assistants can query and modify a database. Postgres dialect and wire protocol support, encryption at rest, and full-text search are listed as experimental.
The project is not yet at version 1.0, and some SQLite compatibility gaps remain documented in its compatibility reference.
Key features
- 01Compatible with SQLite SQL dialect, file format and C API
- 02BEGIN CONCURRENT for higher write throughput via MVCC
- 03Change data capture for tracking database changes
- 04Asynchronous I/O on Linux using io_uring
- 05Bindings for Rust, JavaScript, Python, Go, Java and .NET
- 06Built-in MCP server mode for AI assistants
Use cases
- Embedding a SQL database in an application without running a separate server
- Migrating or extending an existing SQLite-based application in Rust
- Letting AI assistants read and write a local database through MCP
- Experimenting with Postgres-style SQL on an embedded engine
Quick start
- 1
Run the official CLI install script from the README
- 2
Launch the interactive shell
tursodb - 3
Or add the Rust crate to your project
cargo add turso
Things to know
- Postgres compatibility, encryption at rest, full-text search and incremental computation are experimental features.
- The project describes itself as still on its way to 1.0, so interfaces may change.
Topics
FAQ
- What is turso?
- An in-process SQL database written in Rust, compatible with SQLite's dialect, file format and C API, with an experimental Postgres frontend. Turso Database is an in-process SQL database written in Rust. It aims for compatibility with SQLite at the SQL dialect, file format and C API levels, so existing SQLite database files can be used directly. It is built on a virtual machine (VDBE) that compiles SQL into bytecode, the same general approach SQLite uses, and the project's goal is to let multiple SQL frontends share that core.
- Is turso free to use? What license does it have?
- turso is open source under the MIT license. Check the license terms before using it in commercial products.
- Is turso still maintained?
- Actively maintained. The last commit to turso was on Oct 21, 2026.
- What can I use turso for?
- Embedding a SQL database in an application without running a separate server Migrating or extending an existing SQLite-based application in Rust Letting AI assistants read and write a local database through MCP Experimenting with Postgres-style SQL on an embedded engine
- How do I install turso?
- Run the official CLI install script from the README Launch the interactive shell: tursodb Or add the Rust crate to your project: cargo add turso
- Where can I get turso?
- The source code and installation instructions are on GitHub: https://github.com/tursodatabase/turso
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
DuckDB is an in-process analytical SQL database that runs inside your application with no separate server to manage.
A multi-model database written in Rust that combines document, graph, relational, time-series, and key-value data with realtime queries and built-in access control.
A free, cross-platform visual tool for creating, browsing, editing and querying SQLite database files without writing SQL.
A PostgreSQL extension for high-performance real-time analytics on time-series and event data.
A lightweight, fault-tolerant distributed relational database built on SQLite, replicated across nodes via Raft consensus.