SQL Formatter Workbench
Format a query or a collection of SQL files with dialect-specific parsing. Keep input and output side by side, inspect the textual changes and export a reusable style profile.
Save or open settings
Formatting does not check database objects or execute SQL. Stored procedures and custom statement delimiters are outside the formatter’s supported scope.
Textual formatting changes
Added and removed lines include case and whitespace changes. This is not a semantic proof that two queries are equivalent.
Format a file batch
Files use the current formatting settings. Each is processed separately. The ZIP includes successful files and a manifest listing errors. Originals are never overwritten.
Choose a dialect and try the example.
Using SQL Formatter Workbench
Format SQL across 21 dialect identifiers with reusable profiles, side-by-side editors, a change view, undo and local multi-file ZIP export.
- Paste SQL or open UTF-8 files, then choose the correct database dialect.
- Adjust keyword case, indentation, operators and expression width. Format in the local worker.
- Inspect changes, copy or download SQL, save a profile or format a file batch into a ZIP.
Example
Try the included demonstration. Adjust keyword case, indentation, operators and expression width. Format in the local worker.
Questions & answers
Does this execute or validate a query?
No. This is a whitespace formatter using SQL Formatter 15.9.0. It does not connect to a database, validate table names or prove that a statement is valid or safe to execute.
Which dialect should I choose?
Choose the dialect matching your database. Twenty-one library identifiers are exposed, including PostgreSQL, MySQL, SQLite, BigQuery, DuckDB, Snowflake and Transact-SQL; tsql and transactsql are aliases.
Are stored procedures supported?
The formatter does not support stored procedures or changing the statement delimiter from semicolon. Formatter-disable comment blocks can retain unsupported sections; those sections are not parsed.
Can it change values or identifiers?
The UI changes whitespace and optionally keyword, datatype and function case. It does not enable experimental identifier-case rewriting or parameter replacement. Always review the result before applying it to production scripts.
How does batch formatting work?
Open up to 20 UTF-8 .sql files, each at most 256 KiB and 200,000 characters, with 2 MiB total. Successful outputs and an error manifest are exported as a ZIP. Originals are never overwritten.
Can I reuse settings?
Save a settings-only JSON profile and import it later. Inputs are not stored automatically. Copy/download output becomes unavailable when input or settings change. Each worker job has a 12-second timeout.
Help improve this tool
Report a problem or suggest an improvement
Describe the issue without pasting private tool input. Feedback goes to our admin inbox.
