Fourteen databases.One free app.

Maben Base is a database client for the Mac. Open Postgres, MySQL, SQLite, SQL Server, MongoDB and nine more in one window, edit rows like a spreadsheet, and nothing is written until you save.

This window works. Double-click a cell, add or delete a row, then press Show SQL or Save. It is a copy inside this page, so nothing leaves it.

Demo shopdevelopmentPostgreSQL 17 · shop
TABLES 5
VIEWS 1
1 change 1–300 of 2,400
Engines

Works with the databases you already run.

Fourteen engines, and rows can be edited in every one of them. Each driver was written for this app, so there is nothing to install for most.

14 of 14 rows
EngineConnects throughURL to pasteRowsStructure
PostgreSQLWire protocol: TLS, SCRAM, MD5postgres://editedit
MySQL and MariaDBWire protocol: TLS, caching_sha2, nativemysql://editedit
SQLiteSystem librarysqlite://editedit
SQL Server and Azure SQLTDS 7.4, TLS or strict TDS 8sqlserver://editview
OracleYour sqlplus (Instant Client)oracle://editview
ClickHouseHTTP interfaceclickhouse://edit as mutationsview
DuckDBYour duckdb toolduckdb://editedit
libSQL and TursoHrana over HTTPlibsql://editedit
Cloudflare D1REST API, API tokend1://editview
SnowflakeSQL API v2, access token or key pairsnowflake://editview
BigQueryREST API, service account or gcloudbigquery://edit with a primary keyview
Cassandra and ScyllaDBCQL native protocol v4cassandra://editview
MongoDBOP_MSG, SCRAM, mongodb+srvmongodb://edit by _idview
Redis and ValkeyRESP2redis://edit the keys table–

Pink cells are what you can edit, as in the app.Where structure says view, the Structure tab shows it.

Paste a URL. The form fills itself in.

No plug-ins and no drivers to hunt down: each one was written for this app. Oracle and DuckDB use the tool you already have for them. Type in the field, or try one of these:

New connection

Saving

Nothing is written until you save.

Change cells, delete rows, add new ones. Every edit waits in colour: pink for changed, red for deleted, green for new. ⌘S then writes it all as one transaction.

  • Show SQL lists every statement before it runs
  • If one statement fails, none of them happened
  • If a row changed underneath you, nothing is saved
Safety

Production asks first.

Every connection gets a colour tag and a safe mode. Tag one production and it asks before it writes, so a stray ⌘S never reaches the wrong server. Pick a mode to see what it does.

A table without a primary key can’t be edited by accident either: it is read-only.

shop-prodproductionSafe mode: Ask before writes
UPDATE orders SET status = 'shipped' WHERE id = 5;Run⌘↩

Run this on shop-prod (production)?

It changes data or structure:

UPDATE orders SET status = 'shipped' WHERE id = 5;
CancelRun

Reads run straight away. Tagging a connection production turns this mode on.

Editor

A query editor that knows your tables.

Completion for keywords, tables and columns: after c. it offers only that table's columns. Parameters like :min ask for a value before the query runs. Type sel, press Tab, and a snippet writes the rest.

  • ⌘↩Run the statement at the cursor.
  • ⇧⌘↩Run everything in the tab.
  • ⌥⌘↩Run in a new tab, so the old results stay.
  • ⌥⇧FFormat, clause by clause.
  • ⌥⌘EExplain, with or without timings.
  • ⌘DAnother cursor on the next match. ⌥-click adds one anywhere.
Keys

Quick to get around.

The layout you know from paid database apps: connections on the left, tables in tabs, and rows that load 300 at a time, sorted and filtered on the server.

Open anything

Any table, view or function, by a few letters of its name.

Switch database

And the connections and tabs you had open come back at launch.

Two tabs side by side

Split view puts a table next to a query, or two tables next to each other.

Cells like a spreadsheet

Select a block, move with the arrow keys, copy it, and paste rows from Numbers or Excel.

Foreign keys link

The arrow in a cell opens the row it points to. Try it on customer_id in the window at the top.

An editor per type

Return edits a cell. The row’s details open on the right: JSON, dates, enums, booleans, images.

Servers

Built for real servers.

Reach a server the way it wants to be reached, keep its password out of files, and take your data with you.

SSH tunnels
Through your own ssh, so your config, agent and jump hosts work as they do in Terminal. A key, a key with a passphrase, or a password.
TLS
Off, prefer, require or full verification, with your own CA file and a client certificate when the server wants one.
Passwords
In your Keychain, never in a file. That goes for SSH passphrases and certificate passwords too.
Sync
Connections sync through your own iCloud Drive, without passwords. Or move them to another Mac in a file, with the passwords encrypted by a passphrase you pick.
Export
A table, a result or a whole database, as CSV, JSON, Excel, Markdown or SQL.
Import
A CSV into a table, in one transaction. Or a SQL file, statement by statement.
Backup
With pg_dump or mysqldump when you have them, and SQLite's own VACUUM INTO.
Server window
For Postgres and MySQL: running queries you can stop, users and permissions, and live metrics.
Left out

Tab limits.Trials.Licence keys.Accounts.Analytics.

No limits on tabs, windows, connections or rows. It talks to your databases, and to GitHub to ask whether there is a new version. The source is on GitHub under the MIT licence.

Open your first
database.

Download for macOS What’s new in 0.1

Free, notarized by Apple, and it updates itself. macOS 14 or later, on Apple silicon or Intel.

  1. Open the disk image.
  2. Drag Maben Base to Applications.
  3. Add a connection, or paste a database URL.
  4. Pick a table.