Features

Everything you need to work with data

35 features in one native app for exploring, querying, and running every database you have, with an AI chat and an MCP server so your agents can work alongside you.

1.0Data

Browse, edit, and inspect every row

The grid never gets in the way. A million-row table opens as fast as a ten-row one, and every edit waits for your review before it lands.

The data grid showing the events table: 1,000,000 rows with typed columns

A grid built for millions of rows

Rows paint immediately while the total count fills in the background, so a million-row table opens as fast as a ten-row one.

  • Column stats: min, max, average, nulls, and distinct count
  • Multi-column sort with shift-click, and a visual filter builder with date presets
  • Click any foreign key to jump straight to the row it points at
  • Pin, hide, and resize columns, remembered per table
Staged changes: a new row, a row marked for deletion, and a cell being edited
Find and replace previewing 8 cells that will change, old value beside new

Edits you review before they land

Change cells, add rows, and delete rows. Everything is staged and marked in the grid until you apply it.

  • Type-aware editors for text, numbers, booleans, enums, dates, UUIDs, JSON, and Postgres arrays
  • Stage as many new rows as you like, then apply or discard them together
  • Preview the generated SQL for any change before it runs

Find and replace, previewed

Pick a column, match case, whole word, or a regex, and see every cell that will change before you replace it.

The cell context menu with the Filter submenu open

Everything is a right-click away

Filter by a value or exclude it, set NULL, expand, duplicate, or copy a row as JSON, CSV, Markdown, plain text, or an INSERT statement.

JSON view of a table with the JSONPath filter bar and column picker

Seven views of the same rows

Every table tab can show its rows as a grid, JSON, a record card, plain text, a chart, an ER diagram, or a map. Switch per tab, or set a default.

Real viewers for real values

Values that don't fit a cell get a viewer instead of being cut off.

  • JSON and JSONB as a collapsible tree, with search and a full-screen editor
  • pgvector embeddings with dimension, norm, and a value histogram
  • PostGIS geometry drawn on a pannable map, with its type and SRID
  • Multi-megabyte cells are capped before they reach the screen, so nothing freezes
A row expanded inline as a JSON tree with Tree and Raw modes

Live mode

Watch a table in real time. Inserts, updates, and deletes stream into the grid as they happen on the database.

Global search

Find in database searches across tables and objects as you type, so you never hunt through the sidebar.

2.0Query

Write SQL, and keep it

A schema-aware editor that saves everything you run, notebooks for the analysis you hand to someone else, and codegen that turns the schema back into code.

The SQL editor running a query with typed results below

A SQL editor for real work

Schema-aware autocomplete, one keystroke to run, and everything you run saved automatically.

  • EXPLAIN plans, drawn so you can see what the planner decided
  • Formatting you control: keyword and identifier casing, indent, line breaks
  • Automatic history plus saved queries for the ones you keep
  • Export results as CSV, JSON, or SQL

SQL notebooks

Mix SQL cells and Markdown in one .sqlnb file. Run cells on their own and keep the results next to the notes. Good for an analysis you hand to someone else.

ORM runner

Write ORM-style queries, preview the SQL they generate, and run them against the connected database.

Codegen

Read the live schema back out as Prisma or Drizzle source. It introspects once, so switching between the two is instant, even on a large schema.

3.0Schema

See the whole structure, and how it changes

Browse every object, walk foreign keys row by row, draw the schema, and see exactly what changed between any two snapshots.

An ER diagram linking invoice_item to invoice and item by foreign keys

ER diagrams

Entity-relationship diagrams drawn from the live schema, and five more ways to read the same structure.

See it live
  • Primary and foreign keys marked, with 1:N and 1:1 links
  • Zoom and a minimap
  • Draw the schema six ways: diagram, hierarchy, Mermaid, tree, data dictionary, and DDL

Schema explorer

Tables, views, materialized views, and foreign tables, with live row counts in the sidebar.

  • An index browser and a DDL viewer for any object
  • Guided dialogs to create tables, schemas, sequences, triggers, enums, and foreign keys
  • Manage PostgreSQL enum types

Database objects

Every table, view, function, trigger, enum, sequence, and index in one browsable list, with owners, estimated rows, and data and index sizes.

Relation tree

Walk foreign keys as an expandable tree, drilling from one row into everything it references. Row counts stream in without blocking you.

Schema timeline

Snapshot the schema and see exactly which columns, indexes, and constraints were added or removed between any two snapshots. Then generate the migration SQL that gets from one to the other.

Data diff

Compare two query results or table snapshots row by row. Added, removed, and modified rows are highlighted, including changes inside JSON and array columns.

4.0Visualize

Results you can see at a glance

Turn any query result into a chart, draw every PostGIS layer on a map, and pin the views you keep to a dashboard.

An area chart of amount over time across 1,000 rows
Map view of 1,000,000 GPS points in 89 clusters on a world map

Charts

Turn any query result into a bar, line, area, step, or pie chart, or a geographic choropleth map.

Map view

Every PostGIS layer drawn on a map, clustered when there are too many points to draw one by one. The basemap ships with the app, so the default view makes no network requests.

Dashboards

Pin charts and saved views to a dashboard you can come back to any time.

5.0Operate

Security, health, and backups

See who can read or write what, what the server is doing right now, and every statement that ran. Back up, restore, and browse production read-only.

Security and RLS

See who can read or write what. Roles, grants, and privileges in one place.

  • A role tree grouped into superusers, login roles, and group roles
  • Role attributes and inherited-from membership
  • Per-database access grants

Advisor

A read-only check of the database that ranks what's wrong, worst first. It never reads a row of your data and never runs DDL.

  • Tables without row-level security, and tables with no primary key
  • Foreign keys with no index, and indexes nothing has scanned
  • Bloated tables and rows so wide a page of them moves megabytes
  • Every finding comes with the SQL that would fix it, to read before you run

Instance insights and config

What the server is doing right now: version, uptime, connections, replication, cache hit rates, sessions, and locks.

  • Activity, State, Config, and Replication tabs with live timelines
  • A searchable browser of every server setting
  • Settings that are safe to change can be edited in place

Backup and restore

Export a full SQL dump, schema and data, with toggles for what to include and per-table selection. Restore from a .sql file with results per statement.

  • A live log while it runs, and any export can be stopped mid-run
  • PostgreSQL, MySQL, SQLite, and Cloudflare D1

Activity log

Every statement the app has run, with its duration and outcome, including the ones it ran on your behalf. Nothing the UI does is invisible.

Read-only mode

Lock any connection so writes are blocked entirely. Browse production without the risk.

SSH tunnels and local discovery

Connect through a bastion host, or let Stroke find what's already running: Docker containers, local Postgres and MySQL, and the SQLite files your ORM config points at.

6.0AI and agents

An assistant that knows your schema

Ask in plain language and the AI chat runs the queries. The built-in MCP server opens the same door to the agents you already use.

Connect an agent
The AI chat asking what you would like to explore, with suggested prompts
claude_desktop_config.json
{  "mcpServers": {    "stroke": {      "url": "http://127.0.0.1:4319/mcp"    }  }}

AI chat

An assistant with real database access: it runs queries, reads the schema, explains what it found, and draws charts inline. Destructive statements always ask first.

  • A free tier built in, with no key to configure
  • Your own key for any OpenAI-compatible provider, or GitHub Copilot
  • Local models through Ollama and LM Studio
  • Skills: Markdown files that shape how the agent works on your schema

Built-in MCP server

Start it in Settings, copy the config, and Claude, Cursor, or any MCP client can query your database. A stable token means you configure it once.

7.0Keyboard and workflow

Every feature, without a mouse

A command palette, a shortcut for every core view, split panes, and an optional Vim mode. Every feature is reachable from the keyboard.

The command palette listing views with their keyboard shortcuts

Command palette

Press Cmd/Ctrl+K and type a table, a feature, or a shortcut to jump there.

Keyboard first

A shortcut for every core view, drawn as keycaps wherever it appears.

  • Press ? for a searchable list of every shortcut
  • Reopen a closed tab, jump to tabs 1 to 9, filter by the focused value with Alt+F
  • An optional Vim mode for the grid and the editors

Split panes

Drag a tab to either edge to split the window. Compare two tables, or keep a query beside the rows it returns.

ExtensionsBeta

Add new panels, query tools, and integrations with first-party and community extensions.

Themes and grid styles

Dark and light themes, and six grid styles: lines, bordered, striped, dotted, dots, and minimal.

Try it on your own database

Free to download. $9.99 once, whenever you decide to keep it.