Build SQL
visually.
NodeQL is a free, open-source desktop app that turns SQL into draggable blocks — so you can compose real queries, see the syntax form as you go, and run them against an actual SQLite database.
No account, no telemetry, no server required — runs entirely on your machine.
| name | score | grade |
|---|---|---|
| Alice | 97 | A |
| Ben | 94 | A |
| Clara | 91 | A |
What is NodeQL?
NodeQL is a free, open-source visual SQL query builder for desktop. It turns SQL clauses like SELECT, WHERE, and JOIN into draggable, color-coded blocks, shows the generated SQL live, and runs the query against a local SQLite database.
It is built for SQL beginners and new developers who want to understand the structure of a query before memorizing syntax. NodeQL is local-first: it is not a cloud service and not a machine-learning project, and your projects and databases stay on your device.
- Type
- Visual SQL query builder (desktop app)
- Database
- Local SQLite
- Platforms
- Windows x64, macOS (Intel & Apple Silicon), Linux x64
- License
- MIT, free and open source
- Privacy
- No analytics, ads, account tracking, or automatic crash reporting
- Built with
- Flutter (Dart)
- Status
- Beta, latest release 0.4.5
- Install
- ZIP download, unpack and run (no installer)
- Export
- Results as CSV or JSON
- Developer
- CodeSpire-Solutions
No install. Just blocks.
Open the interactive demo and build your first query right in the browser — with real blocks, live SQL, and results.
Open the live demo →From blocks to executable SQL.
Everything you need to compose, understand, and run database queries — without memorizing syntax first.
SELECT, WHERE, JOIN, GROUP BY, transactions, schema commands — every major clause as a composable, color-coded block.
Learn with plain-language block labels. Switch to SQL syntax mode when you're ready. One workspace, both views.
Mount any .db file, execute your composed query, inspect real results, and export them as CSV or JSON — no server, no setup, no connection strings.
English fallback plus installable, community-validated language packages. Built for learners and teams beyond English.
Three steps. One coherent workflow.
Designed to make the structure of a query visible — not just the result.
Pick from the palette
Browse by category: DQL, DML, DDL, DCL, Transactions, or Plugins. Search by name or SQL keyword and drag a block onto the canvas.
Assemble and configure
Connect blocks in sequence, fill in identifiers and values. The SQL preview updates live — watch the syntax form as you compose.
Execute against real data
Mount a SQLite database, run the query, and inspect live results. Export results as CSV or JSON, and copy the generated SQL for use in any environment.
| id | name | total |
|---|---|---|
| 42 | Alice M. | $320 |
| 37 | Bob K. | $215 |
| 19 | Clara S. | $182 |
| 58 | Dan P. | $141 |
Watch the NodeQL keynote.
The keynote introduces the project behind NodeQL.
Every panel has a purpose.
No clutter. No hidden controls. The workspace is organized so the query always stays at the center of attention.
Keyboard-accessible block search. Find any clause by name, alias, or SQL keyword in under a second.
DQL, DML, DDL, DCL, Transactions, and Plugins — organized so the logical grouping is always visible.
An infinite dot-grid canvas. Blocks connect in sequence. Reorder, remove, or reconfigure at any point.
Live syntax-highlighted SQL output. What you see in the canvas is exactly what gets executed.
Column-typed, scrollable result set. Run count, column names, and raw values — no formatting surprises.
| name | order_count | revenue |
|---|---|---|
| Pro Subscription | 1,204 | $60,200 |
| Data Pack | 889 | $26,670 |
| Basic Plan | 742 | $14,840 |
Built for controlled environments.
No hidden network calls, no executable third-party plugins, no data leaving your machine. Everything stays on the device.
No analytics, no ads, no automatic crash reporting, and no account tracking. Any optional network behavior is disclosed and documented.
The plugin interface is declarative: it runs no third-party Dart code, no native libraries, and no scripts — community catalogs are verified with SHA-256.
Versioned JSON project files with per-project autosave. Guided upgrades of older project files create a backup automatically.
Learn the shape of a query before memorizing syntax.
SQL is not hard to understand. It becomes hard when you have to hold the entire mental model in your head while simultaneously getting the syntax exactly right.
NodeQL separates those two concerns. You think about what you want to retrieve — which tables, which conditions, which groupings. The blocks handle the syntax. The preview shows the SQL that results.
Once you see a query take shape block by block, the underlying grammar becomes intuitive. You're not memorizing rules — you're understanding the logic.
Plain-language mode shows clause labels in natural language — "Get rows where" instead of WHERE — for learners not yet reading SQL.
SQL syntax mode switches the same blocks to standard labels, so the transition from visual to textual SQL is gradual and deliberate.
Live SQL preview means every change to the canvas is immediately reflected in the generated query. No gap between what you build and what executes.
Real data, real feedback. Mount a SQLite database and run against actual records. Errors in logic surface as unexpected result sets, not just syntax errors.
Workshop and tutorials built in. Guided walkthroughs introduce the palette, canvas, and SQL preview before you touch a real project.
Shareable projects. Save and open .nodeql project files so queries can be passed around, modified, and run. Dedicated teaching material for educators is not available yet.
Clean architecture, open foundation.
NodeQL is designed for contributors and educators who want to customize or extend the platform.
Cross-platform build targeting macOS, Windows, and Linux from a single Dart codebase. Native performance, native rendering.
Projects serialize to a structured JSON model. Human-readable, diff-friendly, and easy to parse or generate programmatically.
A query scheduler manages block-to-SQL compilation, execution sequencing, and result delivery to the UI layer.
New block types and external data-source adapters register through a declarative contract — no third-party code execution, with validation and compatibility checks.
Plugin blocks appear in their own palette category, visually distinct from core SQL blocks, loaded from SHA-256-verified community repositories.
UI, domain logic, and execution are cleanly separated. Straightforward to test, modify, or extend without touching unrelated layers.
Want to contribute a block type or fix a bug? Read the contributor guide on GitHub.
Frequently asked questions.
Short, factual answers about NodeQL.
What is NodeQL?
NodeQL is a free, open-source desktop app that turns SQL into draggable, color-coded blocks. You assemble a query visually, see the generated SQL update live, and run it against a local SQLite database.
Is NodeQL free?
Yes. NodeQL is free and open source under the MIT license, and you don't need an account to use it.
Is NodeQL stable enough to rely on?
NodeQL is currently in beta and still has known bugs. Triggers and more complex queries are being added step by step, so back up databases you care about before experimenting.
Which platforms does NodeQL support?
NodeQL runs on Windows x64, macOS (Intel and Apple Silicon), and Linux x64. Web, Android, and iOS are not supported release targets.
How do I install NodeQL?
Download the ZIP for your platform from GitHub Releases, unpack it, and start NodeQL. There is no installer.
How do I update NodeQL?
NodeQL shows a notice when a new release is available. Updating is manual: download the new ZIP from GitHub Releases and unpack it.
Do I need to know SQL to use NodeQL?
No. Simple mode lets you retrieve, filter, and sort data with plain-language blocks, and Advanced mode adds JOINs and GROUP BY with a live SQL preview. A built-in workshop and tutorials guide you through the first steps, so you learn the syntax while you build.
How is NodeQL different from a typical database browser?
NodeQL combines a table browser, a workshop, a live SQL preview, and visual nodes instead of code in one tool. Rather than typing SQL, you assemble it from blocks and watch the query take shape.
Which databases and file formats does NodeQL work with?
You can mount a local SQLite .db file, run your query, and export the results as CSV or JSON. Through the declarative Plugin SDK, contributors can also add external data-source adapters, for example bridges for MongoDB or Supabase.
Can I change data, not just read it?
Yes. Besides SELECT queries, NodeQL has blocks for INSERT, UPDATE, and DELETE. Before a potentially mutating statement runs, NodeQL creates a snapshot and restores the database if execution fails.
Does NodeQL send my data anywhere?
No. Projects, settings, and databases stay on your device, and NodeQL has no analytics, advertising, account tracking, or automatic crash reporting. The app checks GitHub for new releases on startup, and plugins that connect to external data sources must declare the network hosts they use.
Why does my operating system show a security warning?
The Windows and macOS builds are currently not signed with commercial platform certificates, so your system may warn you. Signing is planned. Release files include SHA-256 checksums in a SHA256SUMS.txt file so you can verify your download.
Can NodeQL plugins run arbitrary code?
No. Plugins are declarative JSON manifests, and NodeQL does not execute third-party code from them. Community repositories are protected by HTTPS enforcement, size limits, and SHA-256 manifest verification.
Who can publish a plugin?
Anyone. Because plugins are declarative JSON, you can publish one from your own GitHub repository or a similar host, and users can install it through a custom plugin repository.
Does NodeQL use AI?
No. NodeQL is a local-first desktop app. It is not a cloud service and not a machine-learning project, and the SQL it generates comes from deterministic blocks.
Is NodeQL suitable for teaching?
NodeQL is a good fit for new, young developers who want to explore SQL on their own. There is no dedicated teaching material for educators yet.
Which interface languages are available, and how can I add one?
English is built in, and additional languages such as German are available as installable community translation packages. How to contribute a translation is explained in a file in the docs folder of the GitHub repository.
How do I report a bug or a security issue?
Report reproducible bugs through GitHub Issues. Security vulnerabilities should be submitted through GitHub's private vulnerability reporting.
One workspace, your language.
English is the built-in fallback. Additional interface languages install as validated community packages.
Language packs are validated by schema, size, metadata, and SHA-256. View the translation guide →
Start building queries
you can see.
Download NodeQL for desktop. Free, open source, MIT-licensed.
Find a bug or have an idea? Open an issue on GitHub — every star and contribution helps.