Developers can build locally with Turso using either of the following methods:

Using a dump locally

You can always dump your production database and use it locally for development:

1

Create a dump using the Turso CLI

turso db shell your-database .dump > dump.sql
2

Create SQLite file from dump

cat dump.sql | sqlite3 local.db
3

Connect to SQLite file

You can use any of the methods below with the local.db file, or you can use a new file name if you prefer to create a database from scratch.

SQLite

There are a few things to keep in mind when using SQLite for local development:

  • Doesn’t have all the features of libSQL
  • Works with non-serverless based Turso SDKs

When working with an SDK, you can pass it a file: URL to connect to a SQLite database file instead of a remote Turso database:


You don’t need to provide an authToken in development.

It’s recommended to use environment variables for both url and authToken for a seamless developer experience.

Turso CLI

If you’re using libSQL specific features like extensions, you should use the Turso CLI:

turso dev

This will start a local libSQL server and create a database for you. You can then connect to it using the url option in your SDK:


Changes will be lost when you stop the server.

If you want to persist changes, or use a production dump, you can pass the --db-file flag with the name of the SQLite file:

turso dev --db-file local.db

libSQL Server

You can build and run libSQL server (sqld) yourself locally, or inside your own infrastructure using the source code:

Turso Database

If you already have a database created with Turso, you can use that same one in development by passing the url option to your SDK.

Keep in mind that using the Turso hosted database will incur platform costs and count towards your quota. Consider using SQLite or Turso CLI for local development to avoid platform costs.

Connecting a GUI

During development you can easily connect to a SQLite, libSQL, or Turso database using one of the tools below: