A minimal, fast SQL client desktop application with AI-powered querying. Built for developers who want to quickly peek at their data without the bloat. Supports PostgreSQL, MySQL, Microsoft SQL Server, and SQLite.
- Fast - Opens in under 2 seconds, low memory footprint
- Multi-Database - PostgreSQL, MySQL, Microsoft SQL Server, SQLite
- SSH Tunnels - Connect securely through bastion hosts with password or key auth
- Secure - Connection credentials encrypted locally using OS keychain, no telemetry
- Natural Language Queries - Ask questions in plain English, get SQL
- Multi-Provider - OpenAI, Anthropic, Google, Groq, and local Ollama models (BYOK)
- Charts & Insights - Generate visualizations and metrics from query results
- Schema-Aware - AI understands your database structure for accurate queries
- MCP server - expose your connections to AI agents (read-only queries free, writes gated by in-app approval)
- Streamable HTTP - local server on
127.0.0.1:4722(configurable), secured with a bearer token, off by default - Read-only tools -
list_connections,list_schemas,run_query(500-row cap, rollback-wrapped, Postgres additionally runsREAD ONLYat the DB level),explain_query - Approved writes -
execute_statementprompts an in-app Approve/Reject dialog for every write; 60s timeout auto-rejects - One-command setup - copy the ready-made
claude mcp addsnippet straight from Settings → MCP server
- Audit log - tamper-evident (hash-chained) local record of every executed statement, with CSV/JSON export and integrity verification. Off by default. Stored locally, never uploaded; SQL text can contain data values.
- Monaco Editor - SQL syntax highlighting with smart autocomplete
- Table Aliases - Autocomplete understands aliases for complex queries
- Multi-tab & Multi-window - Work with multiple queries and databases simultaneously
- Cross-Tab References - Name a tab and reference its result from other tabs with
@name, inlined as a CTE at run time - Manual Transactions - Turn off auto-commit on PostgreSQL, then commit or roll back explicitly; open transactions auto-rollback on tab close or disconnect
- Step-Through Execution - Run multi-statement scripts one statement at a time, optionally inside a transaction
- Saved Queries - Bookmark and organize queries with folders and tags
- Command Palette -
Cmd+Kto access everything instantly
- Query Telemetry - Detailed timing breakdown with waterfall visualization
- Benchmark Mode - Run queries multiple times, get p50/p90/p99 statistics
- EXPLAIN Viewer - Analyze query plans with interactive node breakdown
- Performance Indicator - Detect missing indexes, N+1 patterns, and slow queries with auto-generated fix suggestions
- Cancel Queries - Stop long-running queries mid-execution
- Pin a SELECT, see it move - Re-run any read-only query on a cadence (500ms → 5min) with live diff highlights
- Cell-level change detection - Changed cells flash amber, new rows enter with a green band, fades over a configurable window
- Smart row keying - Diffs survive sorting / pagination by keying on explicit primary keys, then a heuristic
id/uuid/*_idcolumn, then row position - Refuses to poll mutations - Pre-execution gate refuses
INSERT/UPDATE/DELETE/DDL/transaction/multi-statementqueries with a tooltip explaining why - Pause when window hidden - Background tabs don't burn CPU or pound the database
- Tab-bar pulse indicator - Switch tabs and the amber dot keeps pulsing on watched ones
- Every query gets a memory - Successful SELECT results are snapshotted locally; a timeline strip (
Cmd/Ctrl+Shift+H) scrubs back through past runs - View any past run read-only - Load an old result into the grid with a clear "viewing the past" banner and row-count sparkline
- Diff any two runs - Cell-level highlights show what changed between runs, plus added/removed row counts, keyed the same way Watch Mode diffs
- Privacy-aware by construction - Masked columns are stored redacted, storage is capped (50 runs per query, 512 MB global budget), and Settings has a one-click wipe
- Schema Explorer - Browse tables, views, stored procedures, functions, and triggers
- Triggers - View trigger definitions and alter, enable/disable, or drop them from the schema sidebar
- Inline Editing - Edit table data directly with INSERT/UPDATE/DELETE
- Table Designer - Create and alter tables with full DDL support (columns, indexes, constraints, partitions)
- JSON Editor - Dedicated editor for JSON/JSONB columns
- Export - Export results to CSV, JSON, or Excel
- CSV Import - Import CSV files with column mapping, type inference, and conflict handling
- Data Generator - Generate realistic fake data with Faker.js, FK-aware, in a dedicated tab
- Column Statistics - One-click data profiling per column (min/max/avg, histograms, top values)
- Data Masking - Blur sensitive columns for demos and screenshots with auto-mask rules
- ERD Diagrams - See table relationships with interactive entity-relationship diagrams
- Foreign Key Navigation - Jump to related records with one click
- Connection Health Monitor - Dashboard with active queries, table sizes, cache hit ratios, and lock detection
- PostgreSQL Notifications - Subscribe to LISTEN/NOTIFY channels with real-time event log
- Kill Queries - Terminate long-running or blocking queries from the health dashboard
- Dark/Light Mode - Easy on the eyes, follows system preference
- Keyboard-First - Power users shouldn't need a mouse
- Auto-Updates - Automatic updates with toast notifications
curl -fsSL https://install.cat/Rohithgilla12/data-peek | shThe installer detects your platform, downloads the latest GitHub release, and installs:
- macOS: the matching
.dmg, copiesData Peek.app, and runsxattr -crautomatically - Linux: the latest
x86_64.AppImageinto~/.local/bin/data-peek
irm https://install.cat/Rohithgilla12/data-peek | iexThe PowerShell installer downloads the latest setup.exe release and runs it for you.
brew install --cask Rohithgilla12/tap/data-peekDownload the latest release for your platform from Releases.
- macOS:
.dmg(Intel & Apple Silicon) - Windows:
.exeinstaller - Linux:
.AppImage,.deb, or.tar.gz
Starting from v0.4.0, data-peek is code signed and notarized for macOS. You should be able to open it directly without any warnings.
If you install with the quick installer, it already runs the xattr cleanup for you.
If you're using an older version or a manual install and see an "App is damaged" warning:
Option 1: Terminal command
xattr -cr "/Applications/Data Peek.app"Option 2: Right-click to open
- Right-click (or Control+click) on
Data Peek.app - Select "Open" from the menu
- Click "Open" in the dialog
Auto-updates only work with the AppImage format. If you installed via .deb or .tar.gz, you'll need to manually download new releases from the Releases page.
| Format | Auto-Update |
|---|---|
| AppImage | Yes |
| .deb | No (manual update) |
| .tar.gz | No (manual update) |
For the best experience with automatic updates, we recommend using the AppImage.
# Clone the repository
git clone https://github.com/Rohithgilla12/data-peek.git
cd data-peek
# Install dependencies
pnpm install
# Run in development mode
pnpm dev
# Build for your platform
pnpm build:mac # macOS
pnpm build:win # Windows
pnpm build:linux # LinuxIf you get errors about Electron not being found after pnpm install:
# Option 1: Run the setup script
pnpm setup:electron
# Option 2: Rebuild native modules
pnpm rebuild
# Option 3: Clean install (nuclear option)
pnpm clean:installThis can happen when pnpm's cache skips Electron's postinstall script that downloads platform-specific binaries.
| Layer | Technology |
|---|---|
| Desktop | Electron |
| Frontend | React 19 + TypeScript |
| UI | shadcn/ui + Tailwind CSS |
| State | Zustand |
| Query Editor | Monaco |
| Database | pg (PostgreSQL), mysql2 (MySQL), mssql (SQL Server), better-sqlite3 (SQLite) |
apps/
desktop/ # Electron desktop application
web/ # Marketing website + licensing
packages/
shared/ # Shared types for IPC
# Install dependencies
pnpm install
# Start desktop app with hot reload
pnpm dev
# Start web app
pnpm dev:web
# Lint all workspaces
pnpm lint
# Build desktop app
pnpm build
Tembo — Goodbye Database Sprawl
MIT License - see LICENSE for details.
Pre-built binaries require a license for commercial use. See the license file for details on free vs. commercial use.
data-peek is a single-maintainer project, and we treat that honestly rather than hiding it. Two commitments are written down in SUSTAINABILITY.md: a kill-switch-free guarantee (if the licence server ever disappears, your activated version keeps working forever, offline) and a dormancy pledge (12 months of maintainer inactivity waives the commercial-licence requirement for all released versions). Releases are built by CI, and the MIT source means you can always build from source.
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
- GitHub Issues - Bug reports and feature requests
- GitHub Sponsors - Support development
- Twitter/X: @gillarohith