SQL Formatter & Beautifier
Format and beautify SQL queries. Supports SELECT, JOIN, subqueries, CTEs, and multiple SQL dialects.
Last updated:
Paste a SQL query above to format and beautify it with consistent keyword casing and indentation. Handles JOINs, subqueries, and CTEs. Everything runs in your browser.
What is SQL Formatter?
A SQL formatter reflows a cramped or generated query into a readable layout — uppercasing keywords, aligning clauses, and indenting subqueries and JOINs. Readable SQL is easier to review, debug, and maintain, especially for long analytical queries with multiple CTEs and nested subqueries. The formatter handles standard ANSI SQL plus common PostgreSQL, MySQL, and SQLite constructs.
How to format a SQL query
- 1Paste your SQL — a single statement or a whole script — into the input pane.
- 2The formatter reindents clauses and normalizes keyword casing.
- 3Review the structure: JOINs, WHERE conditions, and subqueries are laid out clearly.
- 4Copy the formatted query into your editor, migration, or code review.
Use Cases
Clean up generated SQL
ORMs and query builders emit dense one-line SQL. Format it to understand what actually runs against the database.
Prepare queries for review
Format complex analytical queries before a pull request so reviewers can follow the logic.
Debug long queries
Indenting subqueries and CTEs makes it far easier to isolate which part returns wrong results.
Code Examples
Before
select id,name from users u join orders o on o.user_id=u.id where o.total>100After
SELECT id, name
FROM users u
JOIN orders o ON o.user_id = u.id
WHERE o.total > 100;Key Concepts
- CTE (Common Table Expression)
- A WITH clause that names a temporary result set, making complex queries readable by breaking them into steps.
- Dialects
- SQL varies by database (PostgreSQL, MySQL, SQLite, SQL Server). Formatting is dialect-tolerant, but some keywords are engine-specific.
- Formatting vs validation
- This tool reformats structure; it does not execute or validate against a schema. Syntax errors are preserved so you still see them.
Tips & Best Practices
- ▸Formatting doesn't change semantics — a reformatted query runs identically to the original.
- ▸Uppercase keywords are a widely-followed convention that improves scannability, though lowercase runs fine.
- ▸Break long queries into CTEs (WITH) for readability instead of deeply nested subqueries.
- ▸The formatter preserves your literals and identifiers as-is; it won't fix a genuine syntax error.
Frequently Asked Questions
Which SQL dialects are supported?
The formatter handles standard ANSI SQL syntax and most PostgreSQL, MySQL, and SQLite constructs. Dialect-specific keywords are preserved case-sensitively.
Does it validate the query?
No. This tool focuses on formatting. Syntax errors in the input are preserved so you can see the same structure in the formatted output.
Related Tools
Regex Tester
Test regular expressions online. Live match highlighting, capture groups, and support for JavaScript flags (g, i, m, s, u, y).
XML Formatter
Format, beautify, and validate XML documents online. Handles namespaces, CDATA sections, and mixed content.
Case Converter
Convert text between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, and more.
Text Diff
Compare two text snippets side-by-side and highlight the differences. Word- and line-level diff, everything runs in your browser.
Word Counter
Count words, characters, sentences, paragraphs, and reading time in any text. Includes a byte-size estimate for storage planning.
Markdown → HTML
Convert Markdown to HTML with a live preview. Supports GitHub Flavored Markdown (tables, task lists, strikethrough) and code fences.