SQL Formatter
Format and beautify SQL queries. Supports MySQL, PostgreSQL, SQLite, T-SQL, and BigQuery with configurable indent and keyword case.
SQL Formatter is coming soon. In the meantime, try the JSON → CSV converter, which has flattening built in.
How it works
Dialect-aware token parsing
The formatter parses the SQL token stream for the selected dialect, recognising vendor-specific keywords (like MySQL's REPLACE INTO or T-SQL's square bracket identifiers). This produces more accurate formatting than a generic regex-based approach.
Configurable output
Control indent width (2 or 4 spaces), keyword case (UPPERCASE or preserve), and indent style (standard or tabular). Multiple statements separated by semicolons are all formatted in one pass.
Example
Formatting a minified analytics query before adding to documentation
select u.id,u.email,count(o.id) as orders from users u left join orders o on o.user_id=u.id where u.status='active' group by u.id,u.email order by orders desc limit 25
SELECT u.id, u.email, COUNT(o.id) AS orders FROM users u LEFT JOIN orders o ON o.user_id = u.id WHERE u.status = 'active' GROUP BY u.id, u.email ORDER BY orders DESC LIMIT 25
Keywords are uppercased, each clause starts on a new line, and SELECT columns are individually indented.
Frequently asked questions
Will formatting change my query's behavior?
No. The formatter only changes whitespace and keyword case. SQL is whitespace-insensitive — the query engine sees identical tokens before and after formatting.
Which dialects are supported?
Generic SQL, MySQL, PostgreSQL, SQLite, T-SQL (SQL Server / Azure SQL), and BigQuery. Choose the dialect that matches your database for the most accurate keyword recognition.
Related Tools
All conversions run in your browser — nothing is uploaded.
Browse all 26 converters →