# TablePro: a native, open source database client for macOS and iOS

> TablePro is an AGPL-3.0 database GUI written in Swift, with built-in drivers for MySQL, PostgreSQL, SQLite, Redis and others, plus plugin drivers for the rest. It is aimed at developers who want a native client without giving up multi-database support.

**TableProApp/TablePro** — Free and open source database client built natively for developers

- Repository: https://github.com/TableProApp/TablePro
- Website: https://tablepro.app
- Stars: 6,171 · Forks: 411
- Language: Swift
- License: AGPL-3.0
- Published: 2026-09-22 · Updated: 2026-09-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/tableproapp-tablepro

## What TablePro is and which developers it targets

TablePro is a database client for developers, written in Swift and distributed under AGPL-3.0. The README frames the project as a fourth option alongside three existing groups of macOS clients: single-database open source tools such as Sequel Ace (MySQL only) and Postico (PostgreSQL only); multi-database closed source tools such as TablePlus; and multi-database clients that are not native, which the README lists as DBeaver (JVM), Beekeeper Studio and DBGate (Electron). TablePro's stated position is native, multi-database, and open source.

The audience follows from that. If you keep several engines open during a working day, a single-engine client forces you to run two or three apps. If you object to a JVM or an Electron runtime for a tool you keep open all day, the README's own claims are the pitch: cold start under 1 second and idle around 80 MB RAM. Those are the project's numbers, not measurements taken here. The target platform is macOS 14.4 or later, with iOS and iPadOS 18 or later listed as stable. Linux is described as a prototype with nothing to install yet, and Windows is listed as not supported.

## How the driver model splits built-in and plugin engines

The architecture separates drivers into two tiers. Built-in drivers ship with the app: MySQL, MariaDB, PostgreSQL, Amazon Redshift, CockroachDB, SQLite, ClickHouse and Redis. Plugin drivers install on demand from the plugin registry. That list is longer and covers Microsoft SQL Server, MongoDB, Oracle Database, Dameng DM8, DuckDB, Beancount, Cassandra and ScyllaDB, Etcd, Cloudflare D1, DynamoDB, BigQuery, Spanner, and libSQL/Turso.

The split matters more than a feature table suggests. A built-in driver is present the moment you install the app, so a fresh install can talk to Postgres or Redis immediately. A plugin driver is a separate artifact with its own release cadence. The repository's recent releases show this clearly: v0.75.0 shipped on 2026-09-17, and the Weaviate and Typesense driver plugins were released the same day and the next day under their own version tags (plugin-weaviate-v1.0.1, plugin-typesense-v1.0.1). If your engine is on the plugin side, your upgrade path includes the app and the driver independently.

The README also states that the plugin system is open: you can write your own database driver in Swift. The repository layout backs that up with a Plugins/ directory at the top level, alongside Native/, Packages/ and Libs/. Writing a driver is a real option for an internal engine, but it is a Swift development task, not a configuration one.

## Installing TablePro with Homebrew and opening a first connection

The README gives one install command for macOS, a Homebrew cask. Nothing else is required for the built-in drivers.

```bash
brew install --cask tablepro
```

After that, the app is in your Applications folder. The README also points to GitHub Releases as an alternative download path if you prefer not to use Homebrew.

Once the app is open, you create a connection the way you would in any client of this kind: pick an engine from the built-in list, supply host, port, credentials and database name, then connect. The README does not document the exact connection dialog fields, so treat the engine's own defaults as your starting point. For anything behind a bastion, the README lists SSH tunnels with password and key authentication, plus SSL/TLS, as built-in features rather than an add-on.

If your engine is a plugin driver, install it from the plugin registry before you try to connect. The registry lives at github.com/TableProApp/plugins. The README does not spell out the in-app installation flow, so check the docs site for the current steps.

Building from source is a separate path and needs macOS 14.4 or later, Xcode 26 or later, and XcodeGen. The first-time setup from the repository root is three commands:

```bash
brew install xcodegen
scripts/download-libs.sh
scripts/generate-project.sh
```

TablePro.xcodeproj is generated from project.yml and is not committed, so you re-run scripts/generate-project.sh after changing project.yml or Configs/, or after adding a source file.

## Platform coverage is the main limitation to plan around

The platform table is the clearest constraint in the project. macOS 14.4 or later is stable, iOS and iPadOS 18 or later are stable, Linux is a prototype with nothing to install yet, and Windows is a flat no. A team that standardises on Linux workstations or Windows laptops cannot adopt TablePro as its shared client today, regardless of how the driver list looks. That is not a small caveat for a tool positioned as a multi-database client: the multi-database argument only helps the people who can run it.

The engine split is the second constraint. SQL Server, MongoDB and Oracle are plugin drivers, so the experience depends on a separate artifact maintained on its own schedule. The README does not document what happens when a plugin driver lags behind a new app release, and it does not describe a rollback path for a driver update. If you are standardising on SQL Server or Oracle, verify the plugin's current state before you commit the team to it.

The AI features carry a similar dependency. Chat, inline suggestions, and Explain/Optimize are built in, and the README says you bring your own API key, pick your own provider, or run local with Ollama. That is a reasonable posture, but it means the feature set is only as good as the model you point it at, and a local Ollama setup has its own resource cost that the 80 MB idle figure does not include.

## How TablePro differs from TablePlus, DBeaver and Sequel Ace

The README names its own comparison set, so the differences are concrete rather than implied.

Against TablePlus, the difference is licensing and source availability. Both are native and multi-database, but TablePlus is proprietary. TablePro is AGPL-3.0, which means you can read and modify the source, and the README states the app is free under that licence with an optional paid licence for people who use it at work. The trade-off runs the other way too: AGPL-3.0 imposes obligations that a proprietary licence does not, and that matters if you intend to embed or redistribute the client.

Against DBeaver, the difference is the runtime. DBeaver runs on the JVM; Beekeeper Studio and DBGate run on Electron. TablePro is built with native frameworks and the README explicitly rules out Electron, JDBC and a JavaScript runtime. The practical consequence is startup time and memory, which the README quantifies as under 1 second cold start and around 80 MB idle. DBeaver's advantage in exchange is engine breadth and a long history of JDBC drivers, which is a real reason some teams stay.

Against Sequel Ace and Postico, the difference is scope. Those tools cover one engine each and are open source. TablePro covers many engines in one window, which is the whole point of the project. If you only ever touch MySQL, Sequel Ace remains a smaller tool for the same job.

## Licence, maintenance and what an upgrade actually costs

TablePro is licensed AGPL-3.0. The README states the app is free under that licence and asks that people who use it at work buy a licence, with the note that anyone who cannot afford one should just use the free version. That is a funding model, not a feature gate, and the README does not describe any functionality reserved for paid licences. What AGPL-3.0 means for your own code is a question for your legal team, not something to settle from a README.

On maintenance, the repository is not archived. The last push was on 2026-09-22, and the most recent app release, v0.75.0, was published on 2026-09-17. Driver plugins are versioned separately, as the Weaviate and Typesense releases on 2026-09-17 and 2026-09-18 show.

Upgrade cost depends on which tier your engines sit in. Built-in drivers move with the app, so a cask upgrade covers them. Plugin drivers move on their own tags, which means an engine on the plugin side can require two upgrades rather than one. The README does not document a compatibility matrix between app versions and plugin driver versions, and it does not describe a rollback procedure if a driver update breaks a connection. For a team running several plugin-backed engines, that gap is worth resolving before it becomes an incident.

## Conclusion

Adopt TablePro if you work on macOS 14.4 or later, want a Swift-native client, and are comfortable that some engines arrive as plugin drivers rather than built-ins. Skip it if you need a stable Windows or Linux build today, or if AGPL-3.0 is incompatible with how you ship software. Before relying on it for a specific engine, install that driver and confirm it appears in the plugin registry, then open one connection and run a query against a non-production database.

## FAQ

### What is the best free SQL client for Mac?

TablePro is one candidate: it is free under AGPL-3.0, runs on macOS 14.4 or later, and ships built-in drivers for MySQL, MariaDB, PostgreSQL, Amazon Redshift, CockroachDB, SQLite, ClickHouse and Redis. The README also positions it against single-engine open source clients such as Sequel Ace and Postico, which are free but cover only one engine each.

### What are some good alternatives to TablePlus?

The README names TablePro itself as an alternative: native and multi-database like TablePlus, but open source under AGPL-3.0. It also lists DBeaver, Beekeeper Studio and DBGate as cross-platform multi-database options that are not native, running on the JVM or Electron instead.

### How do I install TablePro?

The README gives a single Homebrew command: brew install --cask tablepro. The app can also be downloaded from GitHub Releases, and building from source requires macOS 14.4 or later, Xcode 26 or later, and XcodeGen.

### Is there a Windows version of TablePro?

No. The platform table lists Windows as not supported, and Linux as a prototype with nothing to install yet. macOS 14.4 or later and iOS or iPadOS 18 or later are the stable targets.

### Does TablePro support SQL Server?

Yes, but as a plugin driver rather than a built-in one. The supported databases table lists Microsoft SQL Server under Plugin, and plugin drivers install on demand from the plugin registry at github.com/TableProApp/plugins.

## Sources

- [License: AGPL-3.0](https://github.com/TableProApp/TablePro/blob/main/LICENSE)
- [Project website](https://tablepro.app)
- [README](https://github.com/TableProApp/TablePro/blob/main/README.md)
- [Releases](https://github.com/TableProApp/TablePro/releases)
- [TableProApp/TablePro on GitHub](https://github.com/TableProApp/TablePro)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/tableproapp-tablepro
