Open Source  ·  GPL v3  ·  v0.44.9

qub

The SQL editor I built because I needed it.
Shared because you might too.

prod-postgres
staging-mysql
TABLES
users
orders
products
sessions
HISTORY
SELECT * FROM users
UPDATE orders SET …
1SELECT u.id, u.name, u.email,
2       o.total AS last_order
3FROM users u
4JOIN orders o ON o.user_id = u.id
5WHERE u.active = true
6  AND o.created_at > '2026-01-01'
7ORDER BY o.total DESC
8LIMIT 100;
▶ Run
↓ CSV
★ Save
id
name
email
last_order
1
Alice
alice@acme.io
4 820.00
2
Bob
bob@acme.io
3 100.00
3
Carol
carol@acme.io
1 540.00
prod-postgres
3 rows · 12 ms

Features

The basics, done well

No clutter, no plugins, no subscriptions. Just a focused SQL editing environment that stays out of your way.

Editor
SQL-centric workspace

The editor is the center of the experience. Write SQL without hunting through menus or fighting modal dialogs.

Connections
Multiple simultaneous tabs

Open several database connections at once and switch between them with tabs. Credentials are stored securely in your OS keychain.

History
Automatic query history

Every query you run is saved automatically. Browse or search your history and rerun any past query in one click.

Library
Snippets

Save SQL you keep rewriting into named folders, insert it at the cursor, and carry it between machines as JSON.

Workspaces
Scoped work environments

Each workspace restores its own query tabs and limits them to the connections you allow, so staging and production stay separated.

Results
Analyze in place

The same result set also opens as a chart, a per-column profile, a pivot table, a query plan, data-quality checks, or a diff against an earlier run.

Export
Take the data with you

CSV, TSV, JSON, Excel, Markdown, or SQL INSERT statements — and an export is never capped by the row limit the grid is showing.

AI
SQL from plain language

Describe what you want and get SQL written against your actual schema and dialect. Bring your own provider — Anthropic, OpenAI, or a local Ollama.

Sharing
Live share

Stream a running result set to any browser on your network through a token-protected link. The server is yours; nothing goes to a cloud.


Databases

Connects to what you already use

Built on Qt’s SQL module, qub speaks to seven databases — though which of them a given download can load is decided by Qt, not by qub.

PostgreSQL
MySQL / MariaDB
SQLite
ODBC
Oracle (OCI)
Firebird
Driver Linux · AppImage macOS · DMGApple silicon Windows · installer
SQLite bundled bundled bundled
PostgreSQL bundled bundled bundled
ODBC bundled bundled system
MySQL / MariaDB bundled bundled no plugin
Firebird bundled no plugin bring fbclient.dll
Oracle (OCI) not bundled no plugin bring Instant Client

Qt’s official macOS and Windows binaries carry no MySQL driver at all, and the macOS ones none for Oracle or Firebird — no plugin means nothing you install will help, only a qub built against a Qt compiled with that driver. The macOS DMG is the exception: it ships a MySQL plugin qub compiles itself, against MariaDB Connector/C. Oracle is left out of the AppImage because its client library is not redistributable. qub offers only the drivers the copy you are running can actually load, so the connection form never lists one that would fail on you. Building from source, every client library is your system’s.


Story

Why qub exists

There are great open-source SQL editors out there, but none of them ever really clicked for me. DataGrip was the one that gave me the feeling of productivity and control over my database workspace. But once my enterprise license got canceled, instead of picking a new one I decided to build myself an editor the way I always wanted it to be.

So qub was built with an emphasis on SQL centricity, the basics done well, and a clean interface I enjoy looking at all day.

During development, to keep the interface consistent and easier to build, I created a Qt/QML component library (including fonts, icons, and theming) called Mahina, which I also open-sourced. If you're building desktop apps with Qt, it might save you from reimplementing the same primitives from scratch.

AI helped write the code. Every feature, every decision, and every line of code is reviewed by me.