Where do you write SQL queries?

It’s 2026, and I’m not convinced there’s one place people flock to for writing SQL.

There are excellent tools like DataGrip, Count.co, and Hex, but you have to pay for them. You can use the code editors offered by BigQuery/DataBricks/Snowflake, but I find them subpar and not actively maintained. Also, they’re closed source so the community can’t improve them. MotherDuck is an exception in this category and is excellent – see their FixIt feature – but it only caters to DuckDB, which is still a niche.

There are some great free generalist tools, such as Beekeeper Studio, DBeaver, and QStudio. There are also apps that cater to specific databases like Postico for PostgreSQL. For CLI aficionados there’s Harlequin and the more recent sqlit. I would argue that these solutions focus on traditional relational database workloads, and less so on modern analytical workloads like what DataGrip/Count.co/Hex are trying to solve for. Last but not least dbt and SQLMesh both have official VSCode plugins, which have some great features. But hell knows what lies in both tools’ future.

I don’t believe people will pay for fancy code editors going forward, now that shipping software isn’t a blocker. Any copycat with a bit of patience and a credit card can mimic any app, so a good UX is not enough of a moat anymore. As an example, I think the pricing model offered by Zed is what will make sense: you can use the app as much as you want for free, and you can pay a premium for features that require compute – e.g. edit predictions, usage analytics, etc. It’s fair and square.

Making a code editor is not so difficult anymore

I vibe coded the widget below:

Loading Pyodide + SQLGlot...

It combines excellent pieces of established open-source software:

  • CodeMirror is a code editor for the web. It is used in many high-traffic web interfaces, including Huggingface and MotherDuck. Here I tweaked the config to auto-complete keywords in uppercase and insert tabs on new lines.
  • SQLGlot is a SQL parser. It’s written in pure Python, and can therefore be used in the browser via WASM, using Pyodide. Because it’s a parser, it can do different things like detecting syntax errors, semantic errors, transpiling, formatting, etc.
  • DuckDB Wasm for running SQL queries in the browser. But that’s a detail, because a browser based editor can execute queries on a remote database.

These tools work well together. CodeMirror can be customized in many ways, allowing you to benefit from SQLGlot’s goodness:

  • Queries can be formatted at will – insert SQL caps lock meme
  • Syntax errors are caught before running the query
  • Unknown table references are detected too – try changing orders

And that’s just after vibe coding for an hour. But don’t take my word for it, try it! The widget’s source code is embedded in this web page, so you can point your coding agent to this page to reproduce it and go further.

Sidenote: recently Polyglot made the rounds. It’s a Rust reimplementation of SQLGlot, made with a Ralph Wiggum loop. I’m not sure how I feel about this. It’s as if SQLGlot was handmade woodwork and Polyglot is plastic injection molding.

Will we still need to write SQL?

Here I am rambling on about writing SQL, when omens foretell a world where analysts just write natural language. There’s indeed been movement on the so-called Text to SQL topic, also known as Chat BI. It’s been going on for a while in a semi-serious manner, but the meteoric rise of agentic workflows is making it very real indeed. My girlfriend works at Airbnb and showed me their internal tool, which is honestly outstanding. It’s so good she simply doesn’t write SQL anymore, and doesn’t have to nag her Data team.

I think analytics agent tools like nao are on the right track. They will probably give established dashboarding tools a run for their money. It’s probably a great thing that most end users will end up not having to write SQL, or to manually fiddle with bloated charting tools. However, for this to be possible, someone has to lay down the foundations. Someone has to construct the right data models, give the agents their context, debug dual sources of truth, etc. I simply do not see a world where writing SQL disappears entirely.

My belief is that there will always be a need to interact with databases by writing SQL, with the assistance of AI or not. I’ve not been fully satisfied with the tools I’ve used in the past, so I’ve decided to roll out my own. I’ve named it Squill. As of writing it supports DuckDB in the browser and BigQuery. It is mature enough for me to use at my day job.

I did toy with the idea of turning Squill into a product, but code is so cheap now that I can’t build a strong enough moat around it. I’ve decided to just build the SQL editor I love, and make it free of charge for others to enjoy. I do not seem to be alone: I stumbled on Kavla while writing this post, which is uncannily similar! I’m convinced the idea of writing SQL queries on a canvas has legs.