Nitro SQLite is a SQLite library for React Native on iOS, macOS, visionOS, and Android, built with Nitro Modules. It provides synchronous and asynchronous queries, transactions, and batch operations.
Read the documentation for setup, guides, integrations, and the API reference.
If you use a coding agent, give it the NitroSQLite skill. It links to focused guidance for connections, queries, transactions, concurrency, and migration. See the AI agent guide for what to check in generated code.
Requires React Native 0.75 or newer and react-native-nitro-modules 0.37.1 or newer.
npm install react-native-nitro-sqlite react-native-nitro-modulesRebuild the native app after installing. Expo projects need a development build; Expo Go cannot load this native module. See Getting Started for details.
import { open } from 'react-native-nitro-sqlite'
const db = open({ name: 'app.sqlite' })
db.execute('CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, body TEXT)')
db.execute('INSERT INTO notes (body) VALUES (?)', ['Hello'])
const { rows } = db.execute<{ id: number; body: string }>(
'SELECT id, body FROM notes',
)
console.log(rows._array)
db.close()react-native-quick-sqlite 8.x was succeeded by react-native-nitro-sqlite 9.x. Follow the migration guide before updating an app with existing database files.
Join the Margelo Community Discord. Contributions are welcome through issues and pull requests.
MIT.