Skip to content
Input
SQL
Dialects
4 explicit
Runtime
Browser

Compare two SQL syntax trees

Parse two statements under one dialect and report bounded structural additions, removals, and changes.

Local processingNo sign-upNever executed

Compare queries

Inputs stay in this browser tab. Parser-heavy work uses a tighter 256 KiB safety cap.

Structural change report

No result is placed in a URL, account, API, or remote log.

What this tool does

Bounded, explicit-dialect processing

Structural identity is stronger than a text match but weaker than semantic equivalence. Optimizers, null rules, collation, types, functions, and data can change meaning.

AST comparison removes some layout noise

Whitespace and parser location metadata do not create changes, while predicates, literals, selected columns, clauses, and statement structure do.

Equivalence is never asserted

A zero-change report means these normalized parser trees match. It does not prove identical results for every database state.

The parser runs locally under byte, statement, AST-node, depth, row, column, diagnostic, and output limits. It never connects to a database or resolves files and URLs.

Primary references

Questions and answers

Related SQL tools