SQL Formatter

Paste a SQL query and it is reformatted as you go, one keyword per line.

How it works

This is a keyword-based beautifier, not a real SQL parser. It recognizes a fixed list of major keywords — SELECT, FROM, WHERE, JOIN, LEFT JOIN, RIGHT JOIN, INNER JOIN, GROUP BY, ORDER BY, HAVING, LIMIT, AND, OR, INSERT INTO, VALUES, UPDATE, SET, DELETE FROM — case-insensitively, upper-cases each one, and puts it on its own line. Comma-separated SELECT columns each get their own indented line. A keyword-shaped word inside a quoted string literal, like WHERE name = 'FROM THE START', is never split — quote state is tracked while scanning.