TABLEPRO · v0.69.0 · 27 AUG 2026
Every database.
One native Mac client.
TablePro is a free, open source database client for macOS. 29 engines through native drivers, and nothing runs against your database that you have not read first.
macOS 14+ · Apple Silicon and Intel · No account

| databases | cold_start | idle_rss | downloads | license | latest |
|---|---|---|---|---|---|
| 299 bundled, 20 on demand | Under 1sCold, to first window | ~80 MBOne connection, open and idle | 19,712Across 10 releases | AGPLv3Read the source → | v0.69.027 Aug 2026 · 10 in 30 days |
| databases | 299 bundled, 20 on demand | ||||
| cold_start | Under 1sCold, to first window | ||||
| idle_rss | ~80 MBOne connection, open and idle | ||||
| downloads | 19,712Across 10 releases | ||||
| license | AGPLv3Read the source → | ||||
| latest | v0.69.027 Aug 2026 · 10 in 30 days |
Measured on an M4 MacBook Pro, macOS 27: cold launch to first window, one PostgreSQL connection open. #1 on GitHub Trending on 23 March 2026.
Databases
29 databases.
One native driver each. No JDBC.
9 drivers ship inside the app. The other 20 download the first time you pick one, signature verified, with no restart.
Twenty six tiles, twenty five drivers: Cassandra and ScyllaDB share one. Underneath are libpq, libmariadb, hiredis, libmongoc, libcassandra, FreeTDS and OracleNIO, with Teradata and Trino speaking their wire protocols in pure Swift.
The workbench
Write SQL, edit rows, commit.
In one window.
Every result is a tab. Every edit queues in memory until you save.
SQL Editor
Autocomplete resolves aliases through JOINs and CTEs. A batch runs in one transaction.
- Run
- ⌘⏎ statement at cursor · ⌘⇧⏎ all · ⌘⌥⏎ uncapped · ⌘. cancel
- Rollback
- A failed statement is named, and the batch rolls back.
- Row cap
- 10,000 by default, up to 500,000. Your own LIMIT wins.
- Vim
- Six modes, motions, text objects, registers, marks, macros. :w runs the query.

Data Grid
Every column type gets its own editor. Nothing lands until you press Save.
- Commit
- ⌘S saves. ⌘⇧P shows the parameterized SQL first.
- Loading
- Rows arrive before metadata, and a hidden column is never fetched.
- Paging
- Past 100,000 rows the pager estimates instead of counting.
- Copy as
- CSV, JSON, Markdown, IN clause, INSERT, UPDATE

AI Assistant
Explain a query, optimize it, or fix one that failed.
- Explain
- ⌘L. ⌘⌥L optimizes. A failed query grows a Fix button.
- Apply
- Arrives as a diff. Nothing lands until you press Apply.

Six more things you would expect to pay for.
EXPLAIN, visualized
A cost-coloured diagram, an expandable tree, the raw text.
Server dashboard
Sessions, per-engine metrics and slow queries.
Users and roles
Grant and revoke down to a single column, without writing GRANT.
Quick Switcher
Fuzzy search across tables, queries and history, most-used first.
CSV inspector
Open a .csv or .tsv as a document. No import step.
Backup and restore
PostgreSQL and Redshift dumps, through the existing SSH tunnel.
Open a database and press ⌘⏎.
Download for MacMigration
Import your connections from TablePlus or DBeaver.
Passwords, tunnels and SSL included.
The source app does not need to be running. Or point TablePro at a project folder and it reads your .env.
Import sources
TablePlus
Keychain, incl. Setapp
Sequel Ace
Keychain
DBeaver
Config file, any edition
DataGrip
Keychain or c.kdbx
Beekeeper Studio
app.db, incl. SSH bastions
Navicat
Exported .ncx
Cold start, memory, runtime and price.
| Metric | TablePro | DBeaver | DataGrip | Beekeeper Studio | TablePlus |
|---|---|---|---|---|---|
| Cold start | <1s | ~8s | ~10s | ~3s | — |
| Idle memory | ~80 MB | ~800 MB | 1-2 GB | ~200-400 MB | — |
| Runtime | Native (SwiftUI) | Java (Eclipse RCP) | Java (IntelliJ) | Electron (Chromium) | Native (AppKit) |
| Price | Free | Free / from $113/yr PRO | $99/yr individual (first year), $10.90/mo | Free / from $108/yr Indie | $99 one device, $129 two |
Every competitor figure comes from its own comparison page, which names the version tested. TablePlus is native too, and unmeasured rather than estimated.
Guardrails
Let an agent query your database.
Without giving it your password.
Sixteen MCP tools over your saved connections. The client gets a scoped token, never a credential.
Configuration
{
"mcpServers": {
"tablepro": {
"command": "/Applications/TablePro.app/Contents/MacOS/tablepro-mcp"
}
}
}No token in the config. The bridge launches TablePro if it is not running.
Permission levels
- Askread only
- list_connections · list_tables · describe_table · get_table_ddl
- Editadds writes
- execute_query for SELECT, INSERT, UPDATE and DELETE. Destructive DDL stays blocked.
- Agentadds the tool loop
- confirm_destructive_operation. You type “I understand this is irreversible” every time. It can never be pre-approved.
Fresh installs start in Ask.
- Works with
- Claude Code, Claude Desktop, Cursor, Zed, VS Code, Windsurf, Cline, Continue, Goose, Antigravity and Raycast.
- Providersyour own key
- GitHub Copilot, ChatGPT, Claude, OpenAI, Gemini, xAI, OpenRouter, OpenCode Zen, Ollama, llama.cpp, MLX, or any OpenAI-compatible endpoint.
Remote access is off by default; turning it on switches on authentication and TLS.
Six levels between you and production.
Set per connection.
Even at the loosest setting, DROP, TRUNCATE and a DELETE with no WHERE clause stop and ask.
At Silent (default), a scoped UPDATE runs without asking. An unguarded DELETE FROM users asks for confirmation — that floor holds at every level.
| Level | Write | Read | Auth |
|---|---|---|---|
| Silent (default) | runs | runs | none |
| Alert | confirmation | runs | none |
| Alert (Full) | confirmation | confirmation | none |
| Safe Mode | confirmation and Touch ID | runs | Touch ID |
| Safe Mode (Full) | confirmation and Touch ID | confirmation and Touch ID | Touch ID |
| Read-Only | blocked | runs | none |
Read-Only disables the interface, not just the query. A host or database named “prod” raises the level by itself.
- Credentials
- macOS Keychain, or nowhere: resolved at connect time from 1Password, HashiCorp Vault, AWS Secrets Manager or a shell command.
- Network
- No account, no login, no cloud service in the connection path.
- Getting there
- SSH tunnels and jump hosts chained in process. Or Cloudflare Tunnel, Cloud SQL Auth Proxy, or SOCKS5.
Safe Mode is on before you connect anything.
Download for MacPricing
The app is free.
9 features need a license.
Free is not a trial and not a demo. It is the whole app, on every Mac you own, with nothing counting down.
- At work
- AGPL obligations attach to distributing a modified version, not to using it. No company-size limit.
- Who builds it
- One person, full time, funded by licenses rather than investors. Buying one is how the next release gets built, and sponsorship goes to the same place.
What a license adds.
| Feature | Free | Starter | Team |
|---|---|---|---|
| The whole appEvery section above this one | Included | Included | Included |
| Compare & SyncDiff two databases, structure or rows. Read the script first. | Not included | Included | Included |
| Query InsightsWhat you run most, and what got slower. | Not included | Included | Included |
| Result ChartsBar, line, area and scatter, from rows already loaded. | Not included | Included | Included |
| iCloud SyncConnections, queries, favorites and settings across your Macs. | Not included | Included | Included |
| Linked FoldersA Git repo or shared drive, read as live connections. | Not included | Included | Included |
| Encrypted ExportCredentials travel inside the file, under AES-256-GCM. | Not included | Included | Included |
| Environment VariablesWrite $VAR in a field; it resolves at connect time. | Not included | Included | Included |
| Team CatalogPublish connections into the folder your team already shares. | Not included | Not included | Included |
| Team LibraryConnections and saved queries through your account. | Not included | Not included | Included |
| Mac activations | No license needed | 2 Macs | 5 seats minimum |
| Priority support | Not included | Not included | Included |
A license verifies offline on every launch. A 30-day grace period covers a server we cannot reach.
Starter is per person, Team per seat from 5.
Starter
or $59 once, no renewal
Everything in Free, plus:
- All 7 Starter features above
- 2 Mac activations
Team
or $25 once, no renewal
Everything in Starter, plus:
- Per seat, from 5 seats
- All 9 licensed features above
- Seats and invites on the web. Passwords are never sent.
7-day money-back guarantee on all paid plans. Refund policy
Sponsors
TablePro takes no funding and sells no data. These companies pay for the time. Become a sponsor



