Turso and libSQL client
Connect to a Turso database with its URL and token. Browse tables and run SQLite queries, or open a local libSQL file.
Works on MacDriver downloads on first use of Turso
Included in Free; paid plans add optional featuresOpen source (AGPL-3.0)
At a glance
- Query language
- SQL
- Driver
- Downloads on first useShared with libSQL
- Connect with
- The service’s API
- iPhone and iPad
- Does not open
Connect to Turso
Choose Remote (Turso) in Connection Mode. Paste the database’s HTTPS URL and an API Token, stored in the macOS Keychain. Get both from the Turso dashboard or CLI.
Imported libsql:// URLs become HTTPS remote connections. Each URL names one database. Plain HTTP URLs are not encrypted; SSH tunnels are unavailable.
Query and edit
libSQL speaks SQLite’s syntax, so browsing, EXPLAIN QUERY PLAN diagrams, staged edits with Preview SQL and export behave as they do on SQLite.
A remote connection runs no transaction. Each statement is its own HTTP request and commits on its own, and BEGIN fails with “Transactions are not supported in this mode”. Transactional work needs a local libSQL file, described in the libSQL section.
Remote mode loads no SQLite extensions: a Turso database runs the ones its server was built with. When Turso throttles a connection, the error says how many seconds to wait before retrying.
Tables, indexes and triggers
The Structure tab creates tables, adds and drops columns and indexes, and creates, edits and drops triggers. Tables, but not views, can be renamed from the sidebar.
Remote column reorders and foreign key changes produce a rebuild script for you to review and run. TablePro cannot run it as one transaction across separate HTTP requests.
Move data
TablePro has no import for Turso or libSQL; load data with the Turso CLI or an import on your sqld server. To take data out, export a table or a query result as CSV, JSON, SQL, XLSX, Markdown, HTML and XML.
iPhone and iPad
The iPhone and iPad app has no Turso driver. Turso connections synced from a Mac appear in its list but do not open.
Limits
- Each connection is one database. Switching databases and branches are not supported.
- Embedded replicas are not supported: a local file opens on its own and does not sync.
libSQL
Downloads on first useiPhone and iPad: Does not open
Choose libSQL for a self-hosted sqld server or a file on this Mac. In Remote mode it reaches any sqld that serves the Hrana v2 pipeline endpoint, including one running on this Mac, which listens on port 8080 by default. Leave the token empty for a server started without --auth-jwt-key-file, or give it a JWT that matches the server’s key.
Local File mode opens a libSQL file with the SQLite engine the driver carries, and a path that does not exist yet is created, folders included. A local file runs transactions, loads SQLite extensions from the connection’s Extensions list, and runs a column reorder or foreign key rebuild once you confirm it.
Statements only libSQL understands, such as ALTER TABLE … ALTER COLUMN, fail on a local file, because the SQLite engine receives them. Encrypted libSQL files do not open. Never open a file that a running app is syncing as a Turso embedded replica: access from two programs at once can corrupt it.
Backup Dump and Restore Dump run sqlite3 on a local libSQL file.
libSQL limits
- Backup Dump works for a local libSQL file only, not for a remote database.
Questions about Turso
Should I pick Remote or Local File?
Remote, for a Turso database or a sqld server you reach by URL. Local File, for a libSQL file on this Mac, which also gives you transactions, SQLite extensions and backups.
Do I need the Turso CLI installed?
No. The Turso dashboard shows the database URL and creates tokens too. The CLI is useful for loading data from the terminal, since TablePro has no import for Turso.
Get TablePro
Requires macOS 13 Ventura or later