Open source·v0.42.2·4.4K downloads

The database
explorah.

A native, keyboard-first database workbench. Connect Postgres, MySQL, SQLite, or Turso, or just drop in a CSV. Then query it in SQL, type-safe Drizzle/Prisma, or plain English.

Filter tables
STRUCTURE7 columns
idserial
namevarchar(100)
emailvarchar(255)
phonevarchar(20)
cityvarchar(50)
countryvarchar(50)
created_attimestamp
INDEXES2
What's new
Project info
Toggle theme
Settings
Live · 5s
3ms
Showing 1-12 of 12 rows
Limit:Offset:Page 1 of 1

More Than a table viewer.

Docker, Analytics, Query Builder and execution.

Multi-Database

PostgreSQL, SQLite, libSQL, MySQL. Connect anywhere: local, hosted, tunneled, SSH.

Local
Neon
Turso
SSH

Connect Anywhere

Local, Neon, Turso, or over SSH. Connect to databases wherever they run.

postgres:16
up:5432
mysql:8.4
up:3306
redis:7
up:6379

Docker Containers

Start, stop, restart. Live process management. Auto-reconnect on failure.

users.id─<orders.user_id

Schema Visualization

ERD diagram. Live relationships. Query-driven discovery. Instant insight.

SSH Tunneling

Reach private databases behind firewalls through encrypted SSH tunnels, no VPN required.

postgresql://app:s3cr3t@db.neon.tech:5432/store?sslmode=requirePostgreSQL
Host
db.neon.tech
Port
5432
User
app
Password
••••••
Database
store
SSL
require

Paste to Connect

Drop in any connection string, and Dora parses every field automatically.

usersorderssessions3 tabs
Ctrl+Shift+[]cycle connections

Many connections, one window

Keep several databases open at once, each with its own isolated tabs, filters, and scroll position.

analytics · HogQLexclude localhost
Events
128.4K
Users
9,312
Pageviews
74.1K
sitesapp.acme.iodocs.acme.ioacme.io

PostHog analytics, built innative engine

Point Dora at a PostHog project and explore events, top pages, and live traffic in HogQL: KPI tiles, activity charts, and the sites actually sending data, no SQL required.

That .csv doesn't need a database first.

Drop a file. Query it like a table.

No import step

Point Dora at a .csv, .tsv, .parquet, .json, or .ndjson file. It reads the schema in place.

Real SQL, real joins

Filter, aggregate, and JOIN across several dropped files in one query, with results in table or JSON view.

Read-only by design

Your source files are never modified. Materialize the result into any connected database when you're ready.

Keep it as DuckDB

Files open as in-memory views. When one's worth keeping, save the session to a real, editable .duckdb file on disk.

CSVsales.csv1.2M rows
PARQUETcustomers.parquet84K rows
SELECT s.region, SUM(s.revenue)
FROM sales s
JOIN customers c USING (id)
GROUP BY s.region
3 rows · 11 ms
regionrevenue
EMEA$4.18M
AMER$3.92M
APAC$2.55M

Query files like tables

Drop a CSV, Parquet, or JSON file and Dora opens it as a table. Run SQL, even JOIN across files, powered by an embedded DuckDB engine.

Aww, is SQL too hard for you?

Three ways to ask. One engine.

English
›top 5 customers by revenue
Drizzle
db.select().from(users).where(eq(users.plan, 'pro'))
Prisma
prisma.user.findMany({ where: { plan: 'pro' } })
Dora engine3 rows · 3 ms
SELECT name, sum(total) AS revenue
FROM orders
GROUP BY name
ORDER BY revenue DESC
LIMIT 5;
namerevenue
Acme Co48,120
Globex31,480
Initech27,904

Every dialect lands in the same place

Describe it in English, or stay type-safe in Drizzle or Prisma. Each path compiles to plain SQL you can read, edit, and run on the same engine.

Every database you reach for.

One workbench for all of them.

Dora
postgresql://user:pass@db.neon.tech/mydb

Native connectors and hosted databases

  • Supabase, OAuth: Authorize in one click or paste an access token, then pick a project.
  • Neon, API key: Pick a project branch and Dora builds the pooled connection string.
  • Turso, API token: Pick a database across your organizations; Dora mints its auth token.
  • PlanetScale, Service token: Pick a database and branch to connect.
  • Vercel, Access token: Pick a project and Dora reads its Postgres store URL.
  • Xata, API key: Connects through the Postgres endpoint of a database branch.
  • Cloudflare D1, API token: Pick an account and a D1 database. Queries run over the D1 HTTP API.
  • PostHog, API key: Query events with HogQL and build a built-in analytics dashboard.
  • Railway, Connection string: Paste a Postgres or MySQL connection string.
  • Render, Connection string: Paste a Postgres connection string.
  • Fly.io, Connection string: Paste a Postgres connection string.
  • Aiven, Connection string: Paste a Postgres or MySQL connection string.
  • DigitalOcean, Connection string: Paste a Postgres or MySQL connection string.
  • Crunchy Bridge, Connection string: Paste a Postgres connection string.
  • Timescale, Connection string: Paste a Postgres connection string.
  • AWS RDS, Connection string: Paste a Postgres or MySQL connection string.
  • Azure, Connection string: Paste a Postgres or MySQL connection string.
  • Google Cloud SQL, Connection string: Paste a Postgres or MySQL connection string.
  • CockroachDB Cloud, Connection string: Paste the Postgres-compatible connection string.
  • TiDB Cloud, Connection string: Paste the MySQL-compatible connection string.

Connect with OAuth, an API token, or a branch picker, not just a pasted string. Supabase authorizes in one click; Neon and PlanetScale connect branch-aware; Cloudflare D1 speaks its own HTTP engine, and PostHog turns HogQL events into a built-in analytics dashboard. Every other host works with any Postgres, MySQL, or libSQL connection string.