Paste messy SQL, get it formatted and syntax-highlighted instantly.
SQL formatting transforms compressed or messy queries into a readable, consistently indented structure. Raw SQL from ORM query logs, database exports, or quick one-liners is often a single unbroken line — nearly impossible to debug when it spans hundreds of characters.
Formatted SQL places each clause on its own line: SELECT, FROM, WHERE, JOIN, ORDER BY, and GROUP BY each start a new indented block. Subqueries get nested indentation. This makes it immediately clear what a query does, which tables it touches, and where to look for performance issues.
Consistent formatting also improves code review — diffs are cleaner when each clause is on its own line, so reviewers can spot exactly what changed. Most teams enforce a SQL style guide in their codebase. This tool handles the formatting so you can focus on the logic.
This tool in other languages:
Français:
Formateur SQL
Español:
Formateador SQL
Deutsch:
SQL-Formatierer
Português:
Formatador SQL
日本語:
SQLフォーマッター
中文:
SQL 格式化工具
한국어:
SQL 포맷터
العربية:
منسق SQL
Paste your SQL into the input box and click Format. The tool adds line breaks, indents clauses (SELECT, FROM, WHERE, JOIN), and capitalizes keywords for readability. Click Copy to grab the formatted result.
Standard SQL plus common dialects: PostgreSQL, MySQL, SQLite, SQL Server (T-SQL), and Oracle. The formatter handles SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, CTEs (WITH), window functions, and subqueries.
Click Minify to collapse the SQL to a single line with whitespace removed. Useful for embedding queries in code strings or log lines. The logical meaning is preserved — only formatting whitespace is stripped.
No. Whitespace is ignored by the SQL parser — the execution plan is identical whether the query is on one line or 50. Formatting is purely for human readability and code review.
Partially — the formatter will fail on clearly malformed SQL (missing brackets, unterminated strings). But it doesn't do full semantic validation (table names, column types). For that, run the query against your actual database in a sandbox.