A fast, native, cross-platform, multi-engine database client. Written in Rust with GPUI, no Electron and no JVM: instant startup, friendly on your memory, and smooth scrolling through large tables where other clients crash or introduce limits.
Ideas and discussion on Discord.
Like DBDelve? Support its development. Support is voluntary and does not provide any additional benefits.
Scrolling a million rows:
dbdelve-scroll.mp4
Launching, with the last results already there:
dbdelve-launch.mp4
I wanted something which is performant, modern and consumes little ram. The existing DB clients are either filled with bloat (Electron and JVM) or paid. This is an alternative to them. No feature is ever going behind a paywall and with time we will have complete parity on features with those too.
macOS (Apple Silicon, macOS 12 or later):
brew install --cask ShayanAbbas1/dbdelve/dbdelve
xattr -dr com.apple.quarantine /Applications/DBDelve.appDon't skip the second line: the app isn't notarized, so macOS won't open it until the quarantine flag is cleared.
Linux (x86_64 or aarch64): yay -S dbdelve-bin from the AUR, or the
tarball or AppImage from the latest release.
Windows (x86_64): run the installer from the latest release,
or unzip the zip and run dbdelve.exe. The installer asks for AppData (just
for you) or Program Files (all users).
Updating, the .dmg, Linux requirements, building from source and where your
data lives are all in docs/install.md.
Postgres, MySQL, MariaDB, SQLite, Turso, DuckDB, Snowflake, SQL Server, MongoDB, Redis (and Valkey, KeyDB, Dragonfly) and ClickHouse.
Any other database with an ODBC driver is reachable through the bundled ODBC bridge, with that driver installed: IBM Db2, Oracle, SAP HANA, SAP ASE (Sybase), Informix, Teradata, Vertica, Exasol, Firebird, Amazon Redshift, Google BigQuery, Databricks, Apache Hive, Trino and Presto, Dremio, InterSystems IRIS, Microsoft Access and more. Grid editing is off, and statements you type run under the connection's mode. See Connecting through ODBC.
-
Make it yours. The app's own themes alongside Catppuccin, Tokyo Night, Gruvbox and Dracula, each in dark, light and glass. Import themes from Zed or VS Code, or write your own.
-
Bring your connections with you. Import every saved connection, passwords and SSH settings included, from DBeaver, or TablePlus on macOS.
-
Organize your connections into projects, and jump to any of them from the palette, or disconnect back to a home screen that lists them all.
-
Never mistake prod for staging. Every connection is isolated and can color the title bar. Run it read-only, read-write or with full access, and DBDelve asks before anything destructive.
-
Edits you can read first. Change a cell and DBDelve writes the
UPDATEfor you to check before it runs. -
Keep the columns you need. Hide or pin columns, and the layout survives a restart.
-
Read a row in full in the row panel, with JSON highlighted, and edit long values there.
-
Import rows from CSV, TSV or JSON, with every row checked and every statement shown before anything runs.
-
Open a data file by dropping it on the window: a CSV, Excel, Parquet or JSON file opens in DuckDB, held in memory, as a query you can change. A
.sqlfile opens in a new query tab on the connection you're on, and runs only when you run it. -
See the query plan highlighted in its own pane, with bad row estimates called out.
-
Completion that knows your schema: tables, and a table's columns after its name and a dot.
-
Keyboard-first. One palette for commands, tables, saved queries, history and connections, and every shortcut rebindable.
-
Your SSH, not a reimplementation. Tunnels run through your own
ssh, so your config, agent and hardware keys just work. For Postgres, a Host that is a directory (/var/run/postgresql) reaches that Unix socket on the SSH host, optionally as another user (Run as); the server needssocat, and passwordlesssudofor it when Run as is set. TLS modes other thandisableandpreferare refused there. -
Sign in with a short-lived token. On Postgres, MySQL, MariaDB, SQL Server, Redis and ClickHouse, a profile's Password command prints the password at every login, so cloud IAM auth keeps working after the token expires. For Amazon RDS:
/opt/homebrew/bin/aws rds generate-db-auth-token --hostname %HOSTNAME% --port %PORT% --username %USERNAME% --region <region>
%HOSTNAME%,%PORT%and%USERNAME%are the profile's own. DBDelve quotes them itself, so write them unquoted: one inside quotes stops the command from running. Give the program's full path (which awsprints it): an app opened from the Finder or a desktop launcher does not see the PATH your shell sets. Expires after reuses the output for that many seconds, in memory only; blank runs the command at every login.
Free and open source, nothing behind a paywall, and no telemetry: the only request DBDelve makes on its own is an update check, which you can turn off.
DBDelve 0.3.6 against DBeaver 25.3.1 on the same Postgres table, median of 5 runs each (2026-10-11, M1 Pro, 32 GB):
| DBDelve | DBeaver | |
|---|---|---|
| Launch | 1.1 s | 5.2 s |
| Idle memory | 133 MB | 606 MB |
| 1,000-row query | 0.21 s | 1.96 s |
| 1M rows, time | 56 s | 208 s |
| 1M rows, memory* | 4.9 GB | 17 GB |
* The whole 1M-row table pulled into memory on purpose, with the row limit off. Method and full results in BENCHMARKS.md.
DBDelve keeps a diagnostic log on your machine and never sends it anywhere. To attach it to an issue, use Help → Copy Diagnostics and paste; Help → Open Logs Folder shows the files. If the default log doesn't show the problem, turn on Verbose logging in Settings and reproduce it.
Read a log before you post it and remove anything sensitive. A verbose one can hold hostnames, database names and anything a database driver logs.
Copyright (C) 2026 Shayan Abbas and contributors, licensed under the GPL-3.0. Code contributed before the switch was released under the MIT License, and that notice still applies to it. Third-party font and theme licenses are in NOTICES.md.









