TablePro

TablePro

v0.8.0
Latest

A fast, lightweight, native macOS database client for MySQL, PostgreSQL, MariaDB, and SQLite. Built with SwiftUI. Free and open-source.

Developer Tools
February 27, 2026

About

TablePro — The database client Mac deserves

If you've ever used DBeaver, you know the pain: slow Java startup, 500MB+ memory usage, and a UI that feels alien on macOS. TablePlus is better, but it costs $89 and the free tier limits you to 2 tabs and 2 filters.

TablePro is built to solve this. It's a 100% free, open-source, native macOS database client — no limits, no accounts, no catch.

Built native, not ported

TablePro is written in Swift using SwiftUI and AppKit — Apple's own frameworks. This isn't an Electron wrapper or a Java app running in a virtual machine. It's a real Mac app that:

  • Launches in under 1 second

  • Uses only ~50 MB of memory

  • Supports both Apple Silicon (M1–M4) and Intel natively

  • Follows macOS design conventions and keyboard shortcuts

A serious SQL editor

The SQL editor is powered by tree-sitter for accurate, incremental syntax highlighting that handles files with millions of lines without breaking a sweat. It includes:

  • Schema-aware autocomplete — suggests tables, columns, and functions from your live database

  • Multi-statement execution — run all queries or just the selected one

  • Multi-tab editor with persistent tabs across sessions

  • Full find & replace

Powerful data grid

Edit your data directly in the grid. TablePro tracks every change with full undo/redo support, then generates the correct INSERT, UPDATE, or DELETE statements when you save. You can sort by multiple columns, filter with a visual builder, and export to CSV, JSON, SQL, or XLSX.

Secure connections

Connect to remote databases through SSH tunnels with key-based or password authentication. TablePro can parse your ~/.ssh/config automatically. Auto-reconnect with exponential backoff keeps your session alive.

Supported databases

  • MySQL

  • MariaDB

  • PostgreSQL

  • SQLite

Uses native C connectors (MariaDB Connector/C and libpq) for maximum performance and compatibility — not JDBC or ODBC.

Free and open-source

TablePro is licensed under GPL v3. The entire source code is on GitHub. No paid tiers, no feature locks, no telemetry. Every feature is available to everyone.

Requirements: macOS 14 Sonoma or later.

Homepage: tablepro.app

Documentation: docs.tablepro.app

GitHub: github.com/datlechin/TablePro

What's New in v0.8.0

### New Features - **Native macOS Window Tabs**: The tab bar is now rendered by macOS itself — identical to Finder, Safari, and Xcode tabs with automatic dark/light mode support, drag-to-reorder, and "Merge All Windows" for free - **Independent Tab Windows**: Each tab is a full independent window with its own sidebar, editor, and state — no more shared state between tabs ### Improvements - **Tab Switching Performance**: Schema is now cached per connection so new native tabs reuse the already-loaded schema instead of re-fetching from the database (saves 500ms–2s per tab) - **Background Schema Loading**: Schema loads concurrently — table data appears immediately while autocomplete schema loads in the background - **Sidebar MVVM Refactor**: Sidebar table list migrated to a testable `SidebarViewModel` architecture with extracted `TableRowView` and context menu components - Window title updates dynamically after in-place navigation (sidebar click, FK navigation) - 10+ SwiftUI rendering optimizations to prevent O(N) view cascades across windows ### Bug Fixes - Fixed sidebar losing keyboard focus (arrow key navigation) after opening a second table tab - Fixed sidebar active state flash when clicking a table that opens in a new native window tab - Fixed sidebar losing active state when opening a second table in a new native window tab - Fixed sidebar not refreshing after switching databases via Cmd+K - Fixed Cmd+W in empty state doing nothing — now closes the connection window and disconnects - Fixed Cmd+K database switch flooding all windows with error alerts - Fixed clicking a table in the sidebar replacing the current tab instead of opening a new one - Fixed Cmd+W on any tab disconnecting the entire session - Fixed Cmd+T from empty state creating two native tabs instead of one - Fixed native tab title showing "SQL Query" instead of the table name - Fixed Cmd+W on the last tab disconnecting the session instead of returning to empty state

Comments

Sign in to leave a comment.
No comments yet. Be the first to comment!
Sponsored by