Cold start under 1s • 1M rows streamed for ~6MB • AI SQL Copilot • Apple Keychain Security
Download .DMG (macOS 15+) • Official Website • ☕ Donate on Ko-fi
BerryDB is an ultra-fast, lightweight, and modern database management tool crafted specifically for macOS developers, data engineers, and DBAs. Built 100% natively using Swift 6, SwiftUI, and AppKit, BerryDB completely eliminates the bloat, sluggishness, and high memory footprint of Electron-based clients.
Whether you're querying production PostgreSQL databases, inspecting Redis caches, managing MongoDB collections, exploring Qdrant vector spaces, or querying SQLite files locally, BerryDB delivers instantaneous responsiveness with Apple Keychain enclave security.
- Fast Launch : A window is on screen about 0.85s after a cold start — no Chromium runtime, no NodeJS backend overhead.
- Memory That Does Not Grow With Your Data : streaming 1,000,000 rows costs about 5.5MB of peak memory — the same as 200,000 rows.
- AppKit Virtualized Data Grid : A native
NSTableViewengine that scrolls and streams1,000,000+ rows without holding them all in memory.
Measured on an Apple M1 (16GB, macOS 26.6.2) with a release build. Run scripts/measure-performance.sh to reproduce them on your own machine — it reports process spawn and first window separately, because they are not the same number.
Connect to SQL, NoSQL, Key-Value, and Vector databases all in a unified native workspace:
-
Relational / SQL :
- PostgreSQL : Native wire protocol (
PostgresNIO), query cancellation viapg_cancel_backend, SSL/TLS. - MySQL & MariaDB : Native driver (
MySQLNIO), full support forcaching_sha2_passwordandmysql_native_password, SSL/TLS,KILL QUERY. - SQLite : Direct embedded driver via
libsqlite3, WAL mode support, instant file inspection. - Microsoft SQL Server : High-compatibility TDS protocol bridge via dynamically linked FreeTDS (
libsybdb).
- PostgreSQL : Native wire protocol (
-
In-Memory & Key-Value :
- Redis & Valkey : High-speed Valkey-Swift driver, key browser, real-time TTL inspection, and interactive viewers for Strings, Hashes, Lists, Sets, and Sorted Sets.
-
Document & Cloud NoSQL :
- MongoDB : Collection browser, JSON document editor, custom filter syntax, and Replica Set support.
- AWS DynamoDB : Query via PartiQL syntax, item inspection, and AWS SigV4 authentication.
-
Vector & Full-Text Search :
- Elasticsearch : Cluster health monitoring, indices browser, and search query execution.
- Qdrant : Vector collections browser and distance metric inspector.
-
Hardware Enclave : All passwords, tokens, and SSH keys are stored directly in macOS Keychain. No plaintext credentials on disk.
-
Built-in SSH Tunneling : Powered by Citadel (pure Swift SSH client) for secure bastion jump hosts without relying on external terminal sessions.
-
TLS/SSL Encryption : Full encryption support with custom CA, client certificate, and verification options.
-
Context-Aware SQL Generation : Turn natural language into optimized SQL queries with automatic database schema injection.
-
Query Explanation & Tuning : Instant
EXPLAINanalysis, bottleneck detection, and index recommendations. -
Chat with Your Database : Ask questions about your schema, tables, and relationships directly inside the integrated AI panel.
-
Mermaid.js ER Diagrams : Automatically generate interactive visual Entity-Relationship diagrams from your database schema.
-
Table Analytics & Health : Real-time table sizing, index usage statistics, and row count estimations.
-
Persistent Query History : Searchable query log with execution duration, row counts, and one-click re-run.
-
Atomic Inline Editing : Edit table cells directly in the grid with staged diff reviews and atomic commits.
-
Code Editor : SQL syntax highlighting, keyword autocomplete, line numbering, and multiple tab sessions.
-
Query Cancellation : Safely cancel long-running queries without hanging or crashing your application.
| Database Engine | Driver / Protocol | Direct Connection | SSH Tunnel | Inline Grid Edit | Schema / ERD |
|---|---|---|---|---|---|
| PostgreSQL (12–16+) | Pure Swift ( PostgresNIO ) |
✅ | ✅ | ✅ | ✅ |
| MySQL / MariaDB (5.7, 8.x) | Pure Swift ( MySQLNIO ) |
✅ | ✅ | ✅ | ✅ |
| SQLite (3.x) | Embedded ( libsqlite3 ) |
✅ | N/A | ✅ | ✅ |
| Microsoft SQL Server (2017+) | FreeTDS ( libsybdb ) |
✅ | ✅ | ✅ | ✅ |
| Redis / Valkey (6.x–8.x) | Pure Swift ( valkey-swift ) |
✅ | ✅ | ✅ (KV Editor) | ✅ (Keyspace) |
| MongoDB (5.x–7.x) | Pure Swift ( MongoWireClient ) |
✅ | ✅ | ✅ (JSON Edit) | ✅ (Collections) |
| AWS DynamoDB | AWS REST + SigV4 | ✅ | ✅ | ✅ | ✅ (Tables) |
| Elasticsearch (7.x–8.x) | REST Client | ✅ | ✅ | 👁️ (Read/Search) | ✅ (Indices) |
| Qdrant | REST Client | ✅ | ✅ | 👁️ (Read/Search) | ✅ (Collections) |
Install BerryDB in a single command using the official Homebrew tap:
brew install --cask berry-apps/tap/berrydb
Or add the tap first and install:
brew tap berry-apps/tap
brew install --cask berrydb
- Download the latest release
.dmgfromdownload-db.berryhub.app/BerryDB-latest.dmg (or fromGitHub Releases ). - Open the
.dmgfile and dragBerryDB.app into yourApplications folder. - Launch BerryDB from Spotlight (⌘Space) or Launchpad.
System Requirements: macOS 15.0 (Sequoia) or later. Apple Silicon only (M1/M2/M3/M4).
BerryDB uses the standard Swift Package Manager (SPM) and make.
- macOS 15.0 or higher
- Xcode 16.0+ (with Swift 6 toolchain)
- FreeTDS library :
brew install freetds(required for FreeTDS / SQL Server C headers)
git clone https://github.com/berry-apps/berrydb-desktop.git
cd berrydb-desktop
cp .env.example .env
make run
| Command | Description |
|---|---|
make run |
Build debug app bundle, package into dist/BerryDB.app , and launch. |
make watch |
Watch for file changes, auto-rebuild, and reload application. |
make test |
Run the complete Swift unit and integration test suite. |
make app |
Build optimized release application bundle in dist/BerryDB.app . |
- Click New Connection (⌘N) or select the
+button in the sidebar. - Choose your database type (PostgreSQL, MySQL, SQLite, Redis, MongoDB, SQL Server, etc.).
- Enter your connection credentials (Host, Port, User, Password, Database).
- Optional : ToggleSSH Tunnel to route traffic through a jump server.
- Optional : ToggleSSL/TLS for secure encrypted connections.
- Click Test Connection to verify connectivity, then clickSave . Passwords are encrypted securely in your macOS Keychain.
-
Use the sidebar schema tree to browse tables, views, columns, keys, and indexes.
-
Right-click any table and select Show ER Diagram to inspect foreign key relationships rendered via Mermaid.js.
-
Press ⌘T to open a new query editor tab.
-
Type SQL queries with keyword completion, then press ⌘Return to execute.
-
Open the AI Assistant panel (or press**⌘J** ):
- Type a natural language prompt, e.g. "Show top 10 customers by revenue this month" or*"Find slow queries and suggest index optimization"* .
- Review generated SQL and click Run orInsert to Editor .
-
Type a natural language prompt, e.g.
-
Double-click any cell in the
NSTableViewdata grid to edit values inline. -
Edited rows are highlighted in amber. Click Apply Changes to commit them atomically orDiscard to revert.
BerryDB is completely free and open-source for all local database management capabilities. If BerryDB saves you time, enhances your workflow, or replaces expensive subscription tools, consider buying the creators a coffee:
Your support helps cover Apple Developer program fees, maintain server infrastructure, and fuel continuous feature development!
Contributions, issues, and feature requests are welcome!
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'feat: add amazing feature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
BerryDB is open-source software licensed under the Apache License 2.0 — free for personal and commercial use.
For detailed third-party attributions and compliance (including LGPL-2.1 dynamic linking compliance for FreeTDS), please refer to THIRD-PARTY-NOTICES.md.