Your data,
native and instant
.
A fast, lightweight SQL workbench to browse, query, edit and model your data — a native app that starts immediately. First-class for Elyra SQL Server, and it speaks MySQL too.
Download the client
A single download for macOS, Windows and Linux. It runs Free out of the box; a license key unlocks Pro or Premium at runtime.
Browse, query,
edit and model.
Everything you need for daily database work in one native window — safe by default, fast on millions of rows.
SQL editor
A CodeMirror editor with schema autocomplete, EXPLAIN, formatting, query history and saved queries.
Browse & edit
A virtualized grid stays smooth on millions of rows — no-SQL filters, foreign-key jumps and transactional inline editing with a SQL preview. On a table with no single-column primary key it now orders by every column when paging: LIMIT/OFFSET with no ORDER BY lets the server return rows in any order, and it need not be the same order across the two round-trips a second page takes — so rows were silently skipped or shown twice.
Visual query builder
Compose joins and filters visually and drop into raw SQL whenever you want.
Data modeling
An ER diagram and table designer to see and shape your schema (Premium).
Import & export
CSV export everywhere; CSV import and JSON / SQL / XLSX export in Pro and Premium.
Safe by default
Secrets live in the OS keychain, the read-only and production guards are enforced in one place — the connection broker — and a write cannot be issued without an authorization the compiler insists on. That last part is real: a new code path cannot reach the database without going through it. What it does not do is find the paths that were written before it, and three releases running have turned one up. 0.7.0: the write gate asked is this definitely a write?, so CALL, VACUUM, FLUSH and OPTIMIZE TABLE went unrecognised down the read path with no authorization at all — it asks whether a statement is positively known to be harmless now, which is the form that fails closed. 0.8.0: user administration passed confirmed: true unconditionally, so dropping an account skipped the prompt every data write gets. 0.8.2: deleting a connection removed the saved profile and its stored password on a single click, with no confirmation and no undo — and the safe action, disconnect, was hidden in a right-click menu while the destructive one held the visible spot. So: the guarantee is being reached path by path rather than by construction, and the honest version of this card is that each release has been finding one more.
It says so when it is not encrypted
TLS used to be opportunistic, so a session could fall back to clear text while still looking fine. The client now asks the server whether the session is actually encrypted and shows a lock when it is — or an unencrypted warning when a remote connection is not. Require TLS is on by default for any non-local host. Preferred means preferred again since 0.8.1: a server advertising TLS with a certificate the client would not accept could not be connected to at all, where the setting is supposed to mean encrypt if offered. It falls back to plaintext now — never when TLS is required — and an SSH tunnel counts as a remote connection whatever the host field says, because with a tunnel the host resolves on the bastion and 127.0.0.1 would otherwise read as local.
Server tools
Status, process list, users and backup for Elyra SQL Server, right from the client (Premium). Through 0.7.0 user administration was the one write that skipped the production-confirmation prompt: it passed confirmed: true unconditionally, on the reasoning that server configuration is not a data write — which had it backwards for dropping an account or granting admin. It goes through the same prompt as everything else now.
Tools menu
Database-wide utilities: Data Transfer and Data/Structure Synchronization (mirror rows or schema between databases with a reviewable diff, Premium), Data Generation (realistic test data, Pro), plus data dictionary, console, find-in-database, server monitor and history log. Transfer pages by keyset and streams into one transaction — ~1.8× faster with memory that stays flat whether the table has 20k rows or 600k. Two things about that were not true until 0.8.0, and both cost data. The truncate ran outside the transaction, so a failure part-way through left the target empty with no way back — which is the one thing one transaction is supposed to prevent. And binary columns were read through the same stringifying path the grid uses, which renders a BLOB as [N bytes]: transfer wrote that literal text into the target and reported success. Transfer and data sync refuse binary columns now rather than pretending to carry them.
Charts & profiling
Visualise any query result or table as a bar, line, area or pie chart, and right-click a column to profile it — row/null/distinct counts, min/max and top values. Both say when they are showing less than everything: a profile over 200k rows is marked as sampled, and a chart states when it is plotting a prefix of the loaded rows, because a graph that silently drops data is worse than no graph.
Works with SQLite
Connect to local SQLite files alongside Elyra SQL Server and MySQL — the same workbench for every database on your machine.
Automatic updates
Update & restart downloads a signature-verified build and installs it in place, then relaunches — no drag-to-Applications step. The swap runs without a shell, and moves the old version aside first: if the copy fails, the previous version is put back, so a failed update never leaves you without a working app. Signature verification arrived in 0.8.0 and is worth being exact about: until then the check was a SHA-256 taken from the same manifest as the binary, which proves the download arrived intact and nothing about who wrote the manifest. Each artifact now carries an ed25519 signature checked against a key bundled in the app, an update without one is refused outright — a missing signature is exactly what rewriting the manifest produces — and the dialog reports what it actually verified rather than implying more. The same release stopped the chain accepting an empty checksum, stopped it stripping the download quarantine attribute, and refused downgrades.
Native & instant
A small Rust + Svelte 5 binary that starts immediately — no heavyweight runtime.
Built for Elyra SQL
First-class support for the server's dialect, catalog and admin surface — and MySQL and MariaDB are in the engine list since 0.8.1. I wrote here two days ago that the places they differ were handled explicitly rather than assumed away; 0.8.3 is the second release since to find that they were not. Picking a database set interface state and sent no USE, so a query ran against no database at all while the navigator showed the tables — and TIMESTAMP columns rendered as blank cells, not NULL, because the decode failed and fell through to an empty string, so a broken column looked like an empty one. Before those, metadata arriving with a binary collation had the object list showing database names as [21 bytes]. Three basic things in three releases; the engines work now, and the claim that they were carefully handled from the start was mine to check and I repeated it. SSH tunnelling arrived with them (Pro): it drives the ssh already on your machine rather than reimplementing it, so ~/.ssh/config, known_hosts, ssh-agent, hardware keys and ProxyJump all apply — and host key verification stays OpenSSH's job, because a tunnel that accepts any host key is a man-in-the-middle path into a production database that looks like it works. Worth knowing if you run both: 0.6.0 could not connect to ElyraSQL Server 1.9.4 at all. sqlx opens every MySQL connection with a compatibility preamble the server rejects two parts of, neither of which this client needs. 0.7.0 drops them — and with them the pinned UTC session, so TIMESTAMP values now arrive in the server's timezone. There is nothing to choose between there: the server offers no way to set it.
One download, three tiers.
Runs as Free with no license. A key unlocks Pro or Premium at runtime — gates are enforced in the core, so locked actions show the tier they need. Prefer to pay once? Grab the limited-time lifetime license below.
- Local connections, browse & run SELECT
- Query history, saved queries, SQL format
- CSV export
- Everything in Free
- Remote connections
- Writes / DDL, inline editing, filters, FK jump
- CSV import · JSON / SQL / XLSX export
- Visual Query Builder
- Everything in Pro
- ER diagram & table designer
- Backup & server tools (status, processes, users)
All of Premium, forever.
One payment, every Premium feature and all future updates — no subscription. A limited-time launch offer.
Lifetime license
Licenses validate online, with a 14-day offline grace period. See the editions & licensing guide.
A workbench
that starts instantly.
Free to browse and query. Explore the whole SQL family.