SQLly vs DBX
DBX is an open-source database client that went from a first commit on 29 April 2026 to around 9,300 commits and 28,000 GitHub stars six months later. Like SQLly, it has a Rust core. Unlike SQLly, its interface is a Vue web app running in the operating system’s own browser engine. That one decision explains most of the differences below, from download size to how each app draws a million-row grid. Here’s the honest breakdown, with our own measurements where we have them.
Last reviewed: October 2026, against DBX 0.6.62 and SQLly 1.27
The short version
A native workbench that goes deep
One Rust codebase that draws its own interface on the GPU (Metal, Direct3D, Vulkan). Thirty engines connect natively, and the effort goes into depth: completions from real column values, plan findings in plain language, layered safety guardrails, and results that stream to disk instead of filling memory.
One free tool for everything with a port
Apache 2.0, no paid edition. A Tauri 2 app: Rust drivers underneath, Vue 3 and CodeMirror 6 on top, in the system webview. More than 100 data sources, message-queue consoles, a signed plugin store, an MCP server and CLI, and the same app as a Docker-hosted web version. Pre-1.0 and shipping roughly 50 commits a day.
Size, measured
DBX’s README leads with “100+ databases in 25 MB”. We downloaded both current releases on 30 October 2026 and measured. Sizes are decimal megabytes, straight from each project’s download page.
| File | SQLly 1.27 | DBX 0.6.62 |
|---|---|---|
| macOS download (Apple Silicon) | 65.6 MB dmg | 45.2 MB dmg |
| macOS app binary, installed | 195.8 MB | 80.4 MB |
| Windows x64 download | 60.9 MB zip | 33.9 MB installer (uses the WebView2 already in Windows) · 44.6 MB portable zip · 251.7 MB offline installer |
| Linux x64 download | 76.2 MB tarball | 49.0 MB deb · 123.3 MB AppImage (bundles WebKitGTK) |
Where SQLly’s extra size comes from, inside the two macOS binaries:
| Part of the binary | SQLly | DBX | Why they differ |
|---|---|---|---|
| Machine code | 106.0 MB | 56.9 MB | SQLly compiles in DuckDB’s C++ engine and its own GPU renderer, and optimizes for speed. DBX runs DuckDB as a separate helper, leaves rendering to the webview, and optimizes for size. |
| Symbol table | 52.6 MB | 0.7 MB | SQLly keeps function names in the binary so a crash backtrace is readable. DBX strips them. |
| Unwind tables | 15.1 MB | 0.1 MB | DBX aborts on a panic. SQLly unwinds, so a failing background task can be caught and reported instead of closing the app. |
| Constant data | 13.3 MB | 17.7 MB | DBX’s whole Vue interface lives here as JavaScript and CSS. |
The symbol table is the easy part. Stripping it from a copy of SQLly 1.27 took the installed binary from 195.8 MB to 146.9 MB, but the compressed download only shrank by about 6 MB, because function names compress very well. The rest of the gap is the price of drawing the interface ourselves and bundling DuckDB, and we think it buys real things, covered next.
Performance and architecture
Both apps keep their database drivers in Rust, so neither pays for a Java or Node.js runtime on the query path. The difference is everything between the driver and your screen. We have not yet run a side-by-side benchmark of the two apps, so this section describes how each one is built and what that predicts, not a stopwatch result.
| SQLly | DBX | |
|---|---|---|
| Interface | Rust, drawn on the GPU by GPUI. No browser engine anywhere. | Vue 3 and Tailwind in the system webview: WebKit on macOS, WebView2 on Windows, WebKitGTK on Linux. |
| Path from driver to grid | In-process. Rows go from a dedicated engine thread through a bounded queue to the grid painter. | Rows cross the Tauri bridge from Rust into JavaScript (DBX ships MessagePack and CBOR codecs for it), then into a virtual-scrolled grid. |
| Very large results | Streams with backpressure, then spills to a typed disk file past 50,000 rows or 64 MiB, so memory stays flat at 50 million rows. Streaming | Virtual scrolling with pagination controls. |
| Processes | One app process. | The app plus the webview’s own content processes, and helper processes for DuckDB, plugins and the optional JDBC agent. |
| Editor | SQLly’s own Rust editor and SQL parser. A 0.5 MB script edits at about 5 ms per keystroke. | CodeMirror 6, with metadata-aware completion and diagnostics. |
| Looks the same on every OS | Yes. The same renderer on every OS. | Mostly. Rendering, fonts and performance follow whichever webview each OS provides. |
Feature by feature
SQLly’s column uses the same honest status badges as the features page and the docs. For DBX we list what its own README and documentation state.
| Capability | SQLly | DBX |
|---|---|---|
| Runs on macOS, Windows & Linux | YesmacOS is signed and notarized; Windows and Linux are a supported beta. | YesPlus Homebrew, Scoop, WinGet and Flatpak packages. |
| Intel Macs & older Windows | NoThe macOS build targets Apple Silicon. | YesIntel Mac builds, and a dedicated Windows 7 / Server 2012 R2 installer. |
| Free to use | Free tierTwo saved servers, one cloud account, and a reminder to pay about every five hours. Pricing | YesEvery feature, any team size. |
| Open source | NoLifetime licenses carry a source-escrow promise if SQLly is ever discontinued. | YesApache 2.0. |
| Self-hosted web version | NoA desktop app. The browser preview is a demo; remote databases are reached through the bridge and relay. | YesThe same app as a Docker image with a password-protected login. |
| SQL Server, PostgreSQL, MySQL, MariaDB, SQLite | YesPlus hosted and compatible engines - 30 in all. Full list | Yes |
| DuckDB, ClickHouse, Oracle, libSQL/Turso | YesNative drivers; DuckDB is bundled in the app. | YesDuckDB runs as a separate helper process. |
| Snowflake, BigQuery, Db2, Trino & friends | PlannedModeled in SQLly’s engine profiles; live connectors still to come. | YesThrough its JDBC agent, a separate Java-based driver host. |
| MongoDB, Elasticsearch & vector databases | No | YesMongoDB document editing, Elasticsearch, Meilisearch, CouchDB, Qdrant, Milvus, Weaviate and more. |
| Message queues & service registries | No | YesKafka, RocketMQ, RabbitMQ, Pulsar, MQTT, Nacos, Consul, ZooKeeper and etcd consoles. |
| Redis | YesTyped key editing, Cluster and Sentinel, ACLs, pub/sub, profiler and memory analyzer. Redis | YesKey search, batch operations, TTL editing and every data type. |
| Autocomplete | YesSchema, plus real column values, JOIN ON from foreign keys, auto-aliases and plain-language dates. IntelliSense | YesMetadata-aware completion with diagnostics. |
| AI assistant | YesLocal models (Ollama, MLX), your own endpoint, or cloud providers you opt into, with no default provider; answers cite the schema they used. Intelligence | YesGenerate, explain, optimize and fix SQL with Claude, OpenAI, local or compatible models, behind safety checks. |
| MCP server & CLI | YesAgent queries pass the same select-only checks as the app. Select-only | YesSeparate npm or native packages, with read-only, read/write and full-access modes. |
| Edit table data | YesA row editor generated from the table’s own metadata. Row editor | YesInline grid editing with a SQL preview before saving. |
| Pivot, chart & computed columns in results | YesDriven by one-line comments that travel with the query. Directives | - |
| ER diagrams | YesExport to SVG, Mermaid, or DBML. Relationship Graph | Yes |
| Execution plan viewer | In progressPlain-language findings, tree, diagram and side-by-side comparison. Query plans | YesA visual explain plan. |
| Schema & data compare | YesAcross connections and engines, risk-graded, with sync and rollback scripts. Schema Compare | YesSchema diff and data compare, plus column-level field lineage. |
| Import, export & data transfer | YesCSV, JSON, Excel with live formulas, SQL; cross-engine transfer with type mapping. Data transfer | YesCSV and Excel import, five export formats, cross-database transfer, full dumps. |
| Server monitoring & admin | YesActivity Monitor with blocking chains, Server Dashboard, backup and restore, SQL Agent, index analyzer. Tools | - |
| Safety guardrails | YesRead-only connections, a hard stop on UPDATE/DELETE with no WHERE, auto-wrapped transactions, inherited per environment. Safety | PartialConfirmation dialogs for destructive operations, and color-coded connections. |
| Connection import | YesFrom DataGrip, DBeaver, TablePlus, Navicat and Redis Insight, plus SQLly’s own credential files. | YesFrom DBeaver and Navicat. |
| Plugins | No | YesSigned, sandboxed plugins from a built-in store, with Go and TypeScript SDKs. |
| Interface languages | 2English and Spanish. | 3English, Simplified Chinese and Spanish. |
A dash means we couldn’t confirm it from DBX’s own materials - check its documentation for the current state.
Where SQLly is different
DBX goes wide. SQLly spends the same effort going deep on fewer engines.
Native all the way down
There’s no browser engine between the driver and the pixels, so the app behaves the same on every OS and never depends on which webview version a machine has. Large results stream and spill to disk, so memory stays flat whether a query returns 50 rows or 50 million.
Spill-to-disk results →Autocomplete that knows your data
Beyond schema completion, SQLly pulls a column’s real distinct values into a WHERE clause, writes a join’s ON clause from actual foreign keys, and reads dates typed the way you say them.
Guardrails you set once
Read-only connections that refuse file-reading and shell-escape tricks, a hard stop on UPDATE/DELETE with no WHERE, auto-wrapped transactions, and prod painted red, inherited down your client, project and environment tree.
Admin tools as reviewable SQL
Activity monitor, backup and restore, schema and data compare, index analyzer and SQL Agent live under one Tools menu. Anything destructive opens as SQL in a tab for you to read before it runs.
Tools →Comments that shape results
A one-line SQL comment can pivot a result, chart it, add Excel-style computed columns or lock the grid layout, and it travels with the query so the next run looks the same.
SQLly directives →Remote access without opening ports
The SQLly bridge sits next to a private database and the relay connects you to it end to end encrypted, so a team can reach a database behind a firewall without a VPN or a hosted web app.
Remote access →When DBX is the better choice
DBX is a strong project, and for plenty of people it’s the right pick. Choose it if:
- You work across far more than SQL. MongoDB, Elasticsearch, vector stores, Kafka, RabbitMQ and service registries all sit in one tool. SQLly covers relational, analytical and Redis engines only.
- You need Snowflake, BigQuery, Db2 or another JDBC-only database today. DBX’s agent reaches them now; SQLly’s connectors for those are still planned.
- Open source, or free at any company size, is a requirement. DBX is Apache 2.0 with nothing held back.
- You want a hosted web version for a team. DBX runs the same app from a Docker image.
- You’re on an Intel Mac or an old Windows server. DBX ships for both; SQLly doesn’t.
- You want plugins. DBX has a signed plugin store and SDKs; SQLly has no plugin system.
- Download size matters most. DBX’s standard downloads are 20 to 27 MB smaller than SQLly’s on macOS, Windows and Linux.
One caveat in the other direction: DBX is pre-1.0 and changes daily, so check its repository for the current state of anything that matters to you.
Questions
Why is DBX smaller than SQLly if both are written in Rust?
Only DBX’s back end is Rust. Its interface is a Vue web app that runs in the browser engine the operating system already ships, so no renderer goes in the download. SQLly draws its whole interface itself on the GPU, compiles DuckDB into the app, and currently ships its symbol table so crash backtraces name functions. On Apple Silicon the DBX app binary is 80.4 MB and SQLly’s is 195.8 MB; the macOS downloads are 45.2 MB and 65.6 MB.
Is DBX free?
Yes. DBX is open source under the Apache 2.0 license with no paid edition, supported by sponsors and donations. SQLly is free for hobbyists, with SQLly 1.x and Lifetime licenses for everyone else.
Which connects to more databases, SQLly or DBX?
DBX, by a wide margin. It lists more than 100 data sources, many through a Java-based JDBC agent, including MongoDB, Elasticsearch, vector databases, Snowflake and BigQuery, plus consoles for Kafka, RabbitMQ and other message queues. SQLly connects to 30 engines natively, relational, analytical and Redis, and spends its effort on depth per engine.
Other comparisons
Wide or deep
DBX connects to almost everything; SQLly tries to know your data once it’s connected. Take the pig for a spin - free on macOS, Windows, and Linux, no account required.