Validate a SQL query against your schema
Linting regexes miss what engines catch. Validate mode parses AND binds your query against your actual DDL — names, types, ambiguity — without executing it, using the engine's own EXPLAIN pass.
press RUN (or Ctrl+Enter) — everything executes in your browser, nothing is uploaded
What "valid" means here
A query passes only if the real engine can fully prepare it against your schema: syntax parsed,
every table and column resolved, function names known, types bindable. That's strictly stronger
than a syntax checker — SELECT nmae FROM users is perfectly valid syntax and still
fails validation, with a typed unknown_column error and a suggestion computed by edit
distance against your schema.
Typed errors, not prose
Errors come back structured: one of unknown_column, unknown_table,
syntax, type_mismatch, constraint, unsupported,
timeout, or resource_limit, plus the engine's message, a position when
the engine provides one, and a rule-based suggestion. If you're wiring this into CI or an agent,
branch on the type field — message text varies by engine and version, the taxonomy doesn't.
Referenced tables
Validation also reports which schema tables the query actually references — useful for checking that a generated query touches only the tables you expect, or for building dependency graphs of a query library.
FAQ
Does validation execute my query?
No. It uses the engine's EXPLAIN pass, which parses and binds names/types without running the statement. Use run mode to execute.
Can it validate INSERT and UPDATE statements?
Yes — any single statement the engine can prepare. Constraint violations only surface at execution time, though; use run mode with seed rows to test those.
What SQL dialect is validated?
SQLite (default) or DuckDB in your browser. Dialect notes flag constructs whose behavior differs on Postgres, MySQL, or SQL Server.
Why did my double-quoted string pass on SQLite?
SQLite falls back to treating unknown double-quoted identifiers as string literals — a notorious portability trap. The tool attaches a dialect note when it sees this pattern; use single quotes for strings.
Related: Fixing "no such column" · Decoding “syntax error near …” · MCP SQL verification for AI agents