Menu

Tree [345e42] main /
 History

HTTPS access


File Date Author Commit
 .claude 2026-04-02 Andrea Debernardi Andrea Debernardi [92c0fe] fix(sql-editor): preserve cursor and improve au...
 .github 4 days ago Andrea Debernardi Andrea Debernardi [14c798] ci(aur): add manual dispatch with version input
 .gitster 2026-03-14 Andrea Debernardi Andrea Debernardi [fe7803] feat(docs): add changelog page and rename scree...
 .rules 2026-03-28 Andrea Debernardi Andrea Debernardi [27c843] feat(alert): add global alert modal and replace...
 aur 2026-01-28 Andrea Debernardi Andrea Debernardi [23473a] docs(aur): update package description to highli...
 demo 2026-04-02 Andrea Debernardi Andrea Debernardi [c21ae8] docs(demo): add tabularis notebooks demo video
 plugins 5 days ago Andrea Debernardi Andrea Debernardi [a815da] feat(health-check): add periodic connection pin...
 public 2026-02-04 Andrea Debernardi Andrea Debernardi [c8e13a] style(fonts): optimize JetBrains Mono font load...
 scripts 14 hours ago Andrea Debernardi Andrea Debernardi [659915] docs(website): update website copy and OG image
 snap 2026-03-04 Andrea Debernardi Andrea Debernardi [5dda28] Update snapcraft.yaml
 src 2 days ago Andrea Debernardi Andrea Debernardi [842409] refactor(sidebar): localize group collapsed sta...
 src-tauri 2 days ago Andrea Debernardi Andrea Debernardi [dec865] refactor(drivers): centralize pagination logic ...
 tests 4 days ago Andrea Debernardi Andrea Debernardi [f1ef25] feat(ui): add WhatsNew modal and stacked multi-...
 website 14 hours ago Andrea Debernardi Andrea Debernardi [659915] docs(website): update website copy and OG image
 .gitignore 2026-03-15 Andrea Debernardi Andrea Debernardi [d08cc0] feat: website - add reading time to PostCard
 .node-version 2026-03-08 Andrea Debernardi Andrea Debernardi [95907a] ci(workflows): migrate release to pnpm and add ...
 AGENTS.md 4 days ago Andrea Debernardi Andrea Debernardi [cf20f4] docs(notebooks): add SQL Notebooks documentatio...
 BUGS 2026-02-03 Andrea Debernardi Andrea Debernardi [0b4428] docs: add code of conduct and contributing docs
 CHANGELOG.md 4 days ago Andrea Debernardi Andrea Debernardi [f46252] 0.9.15
 CODE_OF_CONDUCT.md 2026-02-03 Andrea Debernardi Andrea Debernardi [0b4428] docs: add code of conduct and contributing docs
 CONTRIBUTING.md 2026-02-11 Andrea Debernardi Andrea Debernardi [d045ca] chore(discord): update invite link to new server
 LICENSE 2026-01-26 Andrea Debernardi Andrea Debernardi [7a31cd] docs(license): add Apache 2.0 license and updat...
 README.md 14 hours ago Andrea Debernardi Andrea Debernardi [345e42] docs(readme): fix comma usage in README intro
 SPONSORS.md 2026-03-12 Andrea Debernardi Andrea Debernardi [02bffb] chore(sponsors): add UTM tracking to sponsor links
 eslint.config.js 2026-02-25 Claude Claude [60201c] feat(website): convert static HTML site to Next...
 index.html 2026-02-01 Andrea Debernardi Andrea Debernardi [e0cabd] chore(ui): remove splash screen and adjust root...
 package.json 4 days ago Andrea Debernardi Andrea Debernardi [f46252] 0.9.15
 pnpm-lock.yaml 4 days ago Andrea Debernardi Andrea Debernardi [d76d36] chore(deps): update pnpm-lock.yaml to add dbgat...
 pnpm-workspace.yaml 2026-02-25 Andrea Debernardi Andrea Debernardi [4aa935] feat(website): add blog pagination, tags, and o...
 postcss.config.js 2026-01-26 Andrea Debernardi Andrea Debernardi [01dad3] first commit
 roadmap.json 2026-03-12 Andrea Debernardi Andrea Debernardi [02bffb] chore(sponsors): add UTM tracking to sponsor links
 tsconfig.app.json 2026-02-05 Andrea Debernardi Andrea Debernardi [0bd16a] feat(updater): add automatic update checking an...
 tsconfig.json 2026-01-26 Andrea Debernardi Andrea Debernardi [01dad3] first commit
 tsconfig.node.json 2026-01-26 Andrea Debernardi Andrea Debernardi [01dad3] first commit
 vite.config.ts 2026-02-12 Andrea Debernardi Andrea Debernardi [6c4aaa] feat(geometry): add geometry parsing and WKB->W...
 vitest.config.ts 2026-02-02 Andrea Debernardi Andrea Debernardi [6e1ac2] docs(testing): add testing conventions guide an...
 CLAUDE.md 2026-01-30 Andrea Debernardi Andrea Debernardi [b6382e] chore: replace CLAUDE.md with symlink to AGENTS.md

Read Me

tabularis

![](https://img.shields.io/github/release/debba/tabularis.svg?style=flat) ![](https://img.shields.io/github/downloads/debba/tabularis/total.svg?style=flat) ![Build & Release](https://github.com/debba/tabularis/workflows/Release/badge.svg) [![Known Vulnerabilities](https://snyk.io//test/github/debba/tabularis/badge.svg?targetFile=package.json)](https://snyk.io//test/github/debba/tabularis?targetFile=package.json) [![Discord](https://img.shields.io/discord/1470772941296894128?color=5865F2&logo=discord&logoColor=white)](https://discord.gg/YrZPHAwMSG) [![Gitster](https://gitster.dev/api/repositories/badge/cmlko1jr60005ne4yh7i7oy3e)](https://gitster.dev/repo/debba/tabularis)

Snap Store AUR WinGet

An open-source desktop client for modern databases. Supports PostgreSQL, MySQL/MariaDB and SQLite and is hackable with plugins, with notebooks, AI, and MCP built in.

Available in: English, Italian, Spanish, Chinese (Simplified)

Discord - Join our Discord server to talk with the maintainers, share feedback, and get help from the community.

Tabularis

💡 Origin Story: This project began as an AI-assisted development experiment, exploring how far intelligent agents could accelerate building a fully functional tool from scratch..

Release Download:

Windows macOS Linux AppImage Linux .deb Linux .rpm

Sponsors

  • turboSMTP turboSMTP — Professional SMTP relay — your emails delivered straight to the inbox, never to spam
  • Kilo Code Kilo Code — Open source AI coding agent — build, ship, and iterate faster with 500+ models
  • Usero Usero — Feedback becomes code. Automatically.

Become a sponsor →

Table of Contents

Installation

Windows

winget install Debba.Tabularis

Direct Download

Download the installer from the Releases page and run it:

tabularis_x.x.x_x64-setup.exe

Follow the on-screen instructions to complete the installation.

macOS

To add our tap, run:

brew tap debba/tabularis

Then install:

brew install --cask tabularis

Homebrew

Direct Download

When you install tabularis on macOS, you need to allow accessibility access (Privacy & Security) to the tabularis app.

If you are upgrading and you already have tabularis on the allowed list you will need to manually remove them before accessibility access can be granted to the new version.

macOS users who download directly from releases may need to run:

xattr -c /Applications/tabularis.app

after copying the app to the Applications directory.

Linux (Snap)

sudo snap install tabularis

Snap Store

Linux (AppImage)

Download the .AppImage file from the Releases page, make it executable and run it:

chmod +x tabularis_x.x.x_amd64.AppImage
./tabularis_x.x.x_amd64.AppImage

Arch Linux (AUR)

yay -S tabularis-bin

Updates

Automatic Updates

Tabularis checks for updates automatically on startup. When a new version is available, a notification will appear, allowing you to download and install the update seamlessly.

Manual Updates

You can also manually check for updates or download the latest version directly from the Releases page.

View the full gallery at tabularis.dev

Discord

Join our Discord server to talk with the maintainers, share feedback, suggest features, or get help from the community.

Changelog

Features

Connection Management

Full reference on tabularis.dev →

  • Support for MySQL/MariaDB, PostgreSQL (with multi-schema support) and SQLite.
  • Multi-Database Selection: Select multiple MySQL/MariaDB databases in a single connection — each appears as its own collapsible node in the sidebar.
  • Save, manage, and clone connection profiles with secure local persistence.
  • Redesigned Connections Page: Grid and list view modes, real-time search, branded driver icons (PostgreSQL elephant, MySQL dolphin, SQLite cylinder) in their official colors.
  • Open in Editor: Right-click any connection in the sidebar to open it directly in the editor via context menu.
  • Manage SSH Connections from the connection manager.
  • Optional secure password storage in system Keychain.
  • SSH Tunneling with automatic readiness detection.

Database Explorer

Full reference on tabularis.dev →

  • Tree View: Browse tables, columns, keys, foreign keys, indexes, views, and stored routines.
  • Inline Editing: Edit table and column properties directly from the sidebar.
  • ER Diagram: Interactive Entity-Relationship visualization (Pan, Zoom, Layout) with selective table diagram generation.
  • Context Actions: Show data, count rows, modify schema, duplicate/delete tables.
  • Views Support: Browse, inspect, and query database views with full metadata.
  • Stored Routines: View and manage stored procedures and functions with parameter details.
  • Fast Metadata: Parallel fetching for schema loading.
  • SQL Dump & Import: Export and restore databases with a single flow.

SQL Editor

Full reference on tabularis.dev →

  • Monaco Editor: Syntax highlighting and auto-completion.
  • Tabbed Interface: Isolated connections per tab.
  • Split View: Open multiple database connections side-by-side in a resizable split-pane layout.
  • Multi-Statement Execution: Run All, Run Selected, or pick individual queries from a multi-statement script. Results from each query appear in separate tabs with independent pagination and error handling.
  • Multi-Result Tabs: Close, rename, re-run, and manage result tabs via context menu. Query parameters are collected once across all queries.
  • Smart Query Splitting: Powered by dbgate-query-splitter — correctly handles stored procedures, functions, and $$-delimited blocks.
  • Saved Queries: Persist frequently used SQL.
  • AI Assist Overlay: AI assistance buttons accessible as a floating overlay directly in the editor.

SQL Notebooks

Full reference on tabularis.dev →

  • Multi-Cell Workspace: Combine SQL and Markdown cells in a single document.
  • Inline Results & Charts: View query results directly below each cell, with bar, line, and pie chart visualizations.
  • Cross-Cell Variables: Reference results from other cells using {{cellName.columnName}} syntax with automatic dependency resolution.
  • Notebook Parameters: Define global {{$paramName}} variables substituted across all cells at execution time.
  • Run All: Sequential execution of all SQL cells with stop-on-error option and completion summary.
  • Drag & Drop: Reorder cells freely, collapse/expand individual cells or all at once.
  • AI Cell Naming: Auto-generate descriptive cell names individually or in batch.
  • Persistence & Export: Auto-saved as .tabularis-notebook files. Export as .tabularis-notebook, HTML, CSV, or JSON.
  • Outline Panel: Side panel showing the full notebook structure with click-to-navigate.

Keyboard Shortcuts

Full reference on tabularis.dev →

  • Built-in shortcuts for navigation, editor, and data grid actions (e.g. Ctrl+B to toggle sidebar, Ctrl+T for a new tab, Ctrl+→/← to paginate results).
  • Fully customizable: Remap any non-locked shortcut from Settings → Keyboard Shortcuts — press the combo to record it, click ↺ to reset.
  • Platform-aware: Uses Cmd on macOS and Ctrl on Windows/Linux throughout.
  • Visual hints: Hold Ctrl+Shift in the sidebar to reveal numbered badges (1–9) for instant connection switching.
  • Persistent overrides: Saved to keybindings.json in the app config directory; can also be edited manually.

Visual Query Builder

Full reference on tabularis.dev →

  • Drag-and-Drop: Build queries visually with ReactFlow.
  • Visual JOINs: Connect tables to create relationships.
  • Advanced Logic: WHERE/HAVING filters, aggregates (COUNT, SUM, AVG), sorting, and limits.
  • Real-time SQL: Instant code generation.

Data Grid

Full reference on tabularis.dev →

  • Inline & Batch Editing: Modify cells and commit multiple changes at once.
  • Row Management: Create, delete, and select multiple rows.
  • Copy Selected Rows: Export selections straight to the clipboard.
  • Export: Save results as CSV or JSON.
  • Smart Context: Read-only mode for aggregates, edit mode for tables.
  • Spatial Data Support: Initial GEOMETRY support for MySQL with raw SQL function inputs for spatial data.

Plugin System

Full reference on tabularis.dev →

Tabularis is hackable with an external plugin system. Plugins are standalone executables that communicate with the app over JSON-RPC 2.0 via stdin/stdout, and can be written in any language.

  • Install Plugins: Browse and install community drivers from Settings → Available Plugins — no restart required.
  • Manage Drivers: View all registered drivers (built-in and plugins) in Settings → Installed Drivers and uninstall plugins with one click.
  • Any Database: Add support for DuckDB, MongoDB, or any other database by writing or installing a plugin.
  • Plugin Registry: Official plugins are listed in plugins/registry.json.
  • Developer Guide: See plugins/PLUGIN_GUIDE.md to build your own driver in any language.

Logging

  • Real-time Monitoring: View application logs directly in Settings.
  • Level Filtering: Filter by DEBUG, INFO, WARN, or ERROR severity.
  • In-memory Buffer: Configurable retention.
  • Query Expansion: Automatically expand and inspect SQL queries in logs.
  • Export Logs: Save logs to .log files for debugging or audit trails.
  • Toggle Control: Enable/disable logging and adjust buffer size without restart.
  • CLI Debug Mode: Start with tabularis --debug to enable verbose logging (including internal SQLx queries) from launch.

Configuration Storage

Configuration is stored in ~/.config/tabularis/ (Linux), ~/Library/Application Support/tabularis/ (macOS), or %APPDATA%\tabularis\ (Windows).

  • connections.json: Connection profiles.
  • saved_queries.json: Saved SQL queries.
  • config.json: App settings (theme, language, page size).
  • themes/: Custom themes.
  • preferences/: Editor preferences per connection (tabs, queries, layout).

Editor Preferences

Tabularis automatically saves your editor state for each database connection. When you reopen a connection, you'll see your previously opened tabs with their queries restored.

Location: ~/.config/tabularis/preferences/{connectionId}/preferences.json

What is saved:

  • Tab titles and types (Console, Table, Visual Query)
  • SQL queries and query parameters
  • Active table and selected columns
  • Filter, sort, and limit clauses
  • Visual Query Builder flow state
  • Editor visibility state

What is NOT saved:

  • Query results (you'll need to re-run queries)
  • Error messages
  • Execution times
  • Pending edits or deletions
  • Loading states

This approach ensures fast startup times while preserving your workspace layout across sessions.

config.json options

  • theme: Theme ID (e.g., "tabularis-dark", "monokai").
  • fontFamily: Editor font family.
  • fontSize: Editor font size (px).
  • language: "auto", "en" (English), "it" (Italian), "es" (Spanish), "zh" (Chinese Simplified).
  • resultPageSize: Default rows per page.
  • aiEnabled: Enable/Disable AI features.
  • customRegistryUrl: Custom URL for the plugin registry (overrides the default official registry).

Custom AI Models override

You can override or add custom models for AI providers by editing config.json and adding the aiCustomModels object:

{
  "resultPageSize": 1000,
  "language": "en",
  "aiEnabled": true,
  "aiProvider": "openai",
  "aiCustomModels": {
    "openai": ["gpt-4o", "gpt-4-turbo", "gpt-3.5-turbo", "gpt-5-preview"],
    "anthropic": ["claude-3-opus-20240229", "claude-3-sonnet-20240229"],
    "minimax": ["MiniMax-M2.7", "MiniMax-M2.7-highspeed"],
    "openrouter": ["google/gemini-pro-1.5", "meta-llama/llama-3-70b-instruct"]
  }
}

AI Features (Optional)

Optional Text-to-SQL and query explanation powered by:

  • OpenAI
  • Anthropic
  • MiniMax (MiniMax-M2.7 and MiniMax-M2.7-highspeed, 204K context)
  • OpenRouter (access to Gemini, Llama, DeepSeek, etc.)
  • Ollama (Local LLM support for total privacy)
  • OpenAI-Compatible APIs (Groq, Perplexity, Azure OpenAI, LocalAI, and more)

Local AI (Ollama)

Select "Ollama" as your provider in Settings. Tabularis will automatically detect your local models running on port 11434 (configurable). No API key required.

OpenAI-Compatible APIs

Select "OpenAI Compatible" as your provider to connect to any service that implements the OpenAI API format. Configure your custom endpoint URL and model name in Settings. Examples:

  • Groq: https://api.groq.com/openai/v1
  • Perplexity: https://api.perplexity.ai
  • Local servers: http://localhost:8000/v1

Dynamic Model Fetching

Tabularis automatically fetches the latest available models from your configured provider.

  • Refresh: Click the refresh icon in Settings to update the model list from the API.
  • Cache: Model lists are cached locally for 24h to ensure fast startup.
  • Validation: Visual feedback if the selected model is not available for the current provider.

MCP Server — AI Agent Integration

Tabularis includes a built-in MCP (Model Context Protocol) server that lets AI agents read your database schema and execute queries directly from their chat interface.

tabularis --mcp

Supported clients

Client One-click install Manual config
Claude Desktop Yes (Settings → MCP) ~/Library/Application Support/Claude/claude_desktop_config.json
Cursor Yes (Settings → MCP) ~/.cursor/mcp.json
Windsurf Yes (Settings → MCP) ~/.codeium/windsurf/mcp_config.json

Setup (one-click)

  1. Open Settings → MCP Server Integration in Tabularis
  2. Click Install Config next to your AI client
  3. Restart the client

Manual setup

Add this to your client's MCP config file:

{
  "mcpServers": {
    "tabularis": {
      "command": "/path/to/tabularis",
      "args": ["--mcp"]
    }
  }
}

Available tools

Once connected, your AI agent can:

Tool Description
list_connections List all saved database connections
list_tables List tables in a connection (with optional schema filter)
describe_table Get full schema: columns, indexes, foreign keys
run_query Execute any SQL query and return results

Example prompts

"Show me all tables in my production database and describe the orders table"

"Write and run a query to find the top 10 customers by total order value this month"

"Check if there are any missing indexes on the users table"

Tech Stack

  • Frontend: React 19, TypeScript, Tailwind CSS v4.
  • Backend: Rust, Tauri v2, SQLx.

Development

Setup

pnpm install
pnpm tauri dev

Build

pnpm tauri build

Roadmap

License

Apache License 2.0

MongoDB Logo MongoDB