A fast, lightweight database IDE for developers.
One app for 17 database engines — SQL, NoSQL, graph, key-value, and analytics.
| SQL | Analytics | Document | Wide Column | Key-Value | Graph |
|---|---|---|---|---|---|
| PostgreSQL | Snowflake | MongoDB | Cassandra | Redis | Neo4j |
| MySQL | BigQuery | DynamoDB | ScyllaDB | ||
| MariaDB | ClickHouse | ||||
| SQLite | Redshift | ||||
| MSSQL | |||||
| CockroachDB |
Query Editor
Data Grid
Schema Browser
NoSQL Support
Connection Management
postgres://, mysql://, mongodb://, redis://, bolt://, sqlite:)Data Export & Import
Transaction Support
UI & UX
Grab the latest release for your platform from GitHub Releases:
| Platform | Format |
|---|---|
| macOS (Apple Silicon) | .dmg |
| macOS (Intel) | .dmg |
| Windows | .exe (NSIS installer) / .msi |
| Linux | .deb / .rpm / .AppImage |
Prerequisites:
# Clone the repository
git clone https://github.com/berbicanes/queryark.git
cd queryark
# Install frontend dependencies
npm install
# Run in development mode
npm run tauri dev
# Build production binary
npm run tauri build
| Layer | Technology |
|---|---|
| Desktop runtime | Tauri 2 (Rust) |
| Frontend | SvelteKit 5, Svelte 5 runes, TypeScript |
| SQL editor | CodeMirror 6 |
| SQL drivers | sqlx (PG, MySQL, SQLite), tiberius (MSSQL), clickhouse, snowflake-api, gcp-bigquery-client |
| NoSQL drivers | mongodb, scylla, redis, neo4rs, aws-sdk-dynamodb |
| SSH tunneling | russh |
| OS keychain | keyring |
| Styling | CSS variables, JetBrains Mono / Inter |
| Action | Shortcut |
|---|---|
| Run query | Ctrl+Enter |
| New query tab | Ctrl+N |
| Close tab | Ctrl+W |
| Next / Previous tab | Ctrl+Tab / Ctrl+Shift+Tab |
| Command palette | Ctrl+P |
| Toggle sidebar | Ctrl+B |
| Toggle theme | Ctrl+Shift+T |
| Save query | Ctrl+S |
| Refresh schema | F5 |
| Format SQL | Ctrl+Shift+F |
| Keyboard shortcuts | Ctrl+K |
All shortcuts are customizable in the shortcuts panel.
src/ # Frontend (SvelteKit + TypeScript)
├── lib/
│ ├── components/ # UI components (editor, grid, modals, sidebar, tabs)
│ ├── services/ # Tauri IPC wrappers
│ ├── stores/ # Svelte 5 rune stores
│ ├── types/ # TypeScript types
│ └── utils/ # Formatters, SQL helpers
└── routes/ # SvelteKit pages
src-tauri/ # Backend (Rust)
├── src/
│ ├── commands/ # Tauri command handlers
│ ├── db/
│ │ ├── drivers/ # Database driver implementations (16 drivers)
│ │ ├── traits.rs # DbDriver, SqlDriver, DocumentDriver, KeyValueDriver, GraphDriver
│ │ ├── pool.rs # Connection pool manager
│ │ └── handle.rs # DriverHandle enum
│ ├── models/ # Serde structs
│ └── error.rs # AppError enum
└── Cargo.toml
npm run dev # Start Vite dev server (port 1420)
npm run build # Build frontend
npm run tauri dev # Run full Tauri app in dev mode
npm run tauri build # Build production binary
npm run check # TypeScript / Svelte type checking
Contributions are welcome. Please open an issue first to discuss what you'd like to change.
git checkout -b feature/my-feature)git push origin feature/my-feature)