🗄️

SQL Formatter

Format and beautify SQL queries with support for multiple dialects (PostgreSQL, MySQL, SQL Server, SQLite). Configure keyword case, indentation, and minify options.

Developer Tools
Loading tool...

How to Use SQL Formatter

What is SQL Formatting?

SQL formatting transforms unreadable, compressed SQL queries into clean, indented, properly spaced code that's easy to read, debug, and maintain. It applies consistent styling rules for keywords, line breaks, and indentation.

Why Format SQL?

  • Readability: Make complex queries easier to understand
  • Debugging: Spot syntax errors and logic issues faster
  • Code Reviews: Consistent formatting helps reviewers focus on logic
  • Maintenance: Formatted queries are easier to modify and extend
  • Team Standards: Enforce consistent SQL style across your codebase

How to Use This Tool

Format a SQL Query

  1. Paste your SQL in the input textarea (compressed or messy queries welcome)
  2. Choose dialect: Select your database (PostgreSQL, MySQL, SQL Server, SQLite, etc.)
  3. Set keyword case: Choose UPPERCASE, lowercase, or preserve original
  4. Set indentation: Pick 2 spaces or 4 spaces per indent level
  5. Click Format to beautify your query
  6. Copy the formatted SQL with one click
  7. Use Minify to compress formatted SQL back to a single line
  8. Try Sample query to see formatting in action

Formatting Options Explained

Dialect

Different SQL databases have slightly different syntax:

  • PostgreSQL: Supports RETURNING, advanced CTEs, ARRAY types
  • MySQL: Uses backticks for identifiers, different string functions
  • SQL Server: Uses square brackets, TOP instead of LIMIT
  • SQLite: Lightweight, fewer advanced features
  • Standard SQL: Generic SQL that works across most databases

Choose your database dialect for best results.

Keyword Case

  • UPPERCASE: SQL keywords in ALL CAPS (traditional style, most readable)
  • lowercase: Keywords in lowercase (modern style, less "shouty")
  • Preserve: Keep original casing from your input

Indentation

  • 2 spaces: Compact, saves horizontal space (common in web dev)
  • 4 spaces: More spacious, easier to see nesting levels (common in enterprise)

Formatting Examples

Before Formatting

select u.id,u.name,o.total from users u join orders o on o.user_id=u.id where o.created_at>='2024-01-01' and o.status in ('paid','shipped') order by o.created_at desc limit 50;

After Formatting (UPPERCASE, 2 spaces)

SELECT
  u.id,
  u.name,
  o.total
FROM users u
INNER JOIN orders o ON o.user_id = u.id
WHERE o.created_at >= '2024-01-01'
  AND o.status IN ('paid', 'shipped')
ORDER BY o.created_at DESC
LIMIT 50;

Common Use Cases

  • Legacy Code: Format old, unformatted queries from legacy systems
  • Minified Queries: Expand compressed queries from logs or ORMs
  • Code Reviews: Format SQL before committing to version control
  • Documentation: Create readable examples for technical docs
  • Learning: Study well-formatted queries to understand SQL structure
  • Debugging: Format queries to spot missing JOINs, WHERE clauses, or parentheses
  • Performance Analysis: Formatted queries make EXPLAIN plans easier to interpret

Minify vs. Format

  • Format: Adds line breaks, indentation, spacing for readability
  • Minify: Removes all unnecessary whitespace to compress query into one line (useful for embedding in code, reducing file size, or copying to logs)

Tips

  • Always format before code review: Makes reviewing easier for teammates
  • Use consistent casing: Pick UPPERCASE or lowercase and stick with it across your project
  • Format complex subqueries: Nested SELECTs benefit most from formatting
  • Preserve original when unsure: Use "preserve" case if working with legacy systems with mixed casing
  • Minify for production: Some systems prefer compressed queries for performance
  • Test after formatting: Formatting shouldn't change logic, but always test to be safe

Frequently Asked Questions

Related Development Tools

Share Your Feedback

Help us improve this tool by sharing your experience

We will only use this to follow up on your feedback