SQL Formatter & Beautifier, Online, Dialect-Aware
Paste an unreadable query and get clean, consistently indented SQL in an instant. Pick your exact dialect, choose upper/lower/preserve keyword case, set your indent, or minify to one line, all client-side, nothing uploaded.
What is the sql formatter?
The SQL Formatter beautifies or minifies queries with a dialect picker covering PostgreSQL, MySQL, T-SQL, BigQuery, Snowflake and more. Choose upper, lower or preserved keyword case and custom indentation, or collapse to a single line. Free and client-side, your queries are formatted in the browser and never uploaded.
The GigAI SQL Formatter is a desktop-grade SQL beautifier that runs entirely in your browser. Paste, drop or type a query and it reindents joins, subqueries, CTEs and CASE expressions into a clean, reviewable shape, aligns clauses, and normalises keyword casing: all in real time as you type. Unlike generic 'pretty print' boxes, it is dialect-aware: choose Standard SQL, PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), BigQuery or Snowflake so identifier quoting, string syntax and engine-specific keywords are formatted the way that engine actually parses them. Flip keyword case to UPPER, lower or preserve to match your team's style guide, set 2-space, 4-space or tab indentation, and toggle Minify to collapse a formatted statement back to a single compact line for logging, embedding in code, or a copy-paste into a shell. It shows character and line counts before and after so you can see what changed at a glance, keeps a full undo/redo history, and works from the keyboard with real shortcuts. Because formatting happens locally, your schema names, table structures, WHERE clauses and any literal values in your queries are never uploaded, logged or seen by anyone: safe for production migrations, proprietary schemas and PII-bearing statements. Close the tab and it's gone.
- Difficulty:
- Easy
- Typical time:
- ~15s
- Processing:
- 100% browser processing
Last updated
How to use the sql formatter
- 1
Paste, drop or import SQL
Paste into the left editor, drag a .sql file onto it, or click to browse. Or load a built-in sample to try it instantly.
- 2
Pick your dialect
Choose the database you're targeting (PostgreSQL, MySQL, T-SQL, BigQuery, Snowflake and more) so the output matches how that engine parses SQL.
- 3
Set case, indent & mode
Choose UPPER, lower or preserve keyword case, set 2-space, 4-space or tab indentation, and switch between Beautify and Minify. Everything re-runs live.
- 4
Copy, download or share
Copy the formatted SQL, download it as a .sql file, or share a link that reopens the tool with your query pre-loaded.
What SQL Formatter includes
Dialect-aware formatting
Format for Standard SQL, PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), BigQuery or Snowflake so engine-specific keywords, quoting and syntax are laid out the way that database actually parses them.
Keyword case control
Force reserved words to UPPERCASE, lowercase, or preserve them exactly as written: match your team's style guide or linter with a single toggle.
Custom indentation
Beautify with 2-space, 4-space or tab indentation. Joins, subqueries, CTEs and CASE expressions are nested consistently so long queries stay readable.
Beautify or minify
Pretty-print a wall-of-text query, or collapse a formatted statement back to a single compact line for logging, embedding in source code, or pasting into a shell.
Live as you type
Formatting runs on every keystroke with a smart debounce, so the output and the before/after size stats stay in sync without hunting for a 'Format' button.
100% in your browser
Your query is formatted on your device. No schema name, table, WHERE clause or literal value is ever uploaded, stored or logged.
Why use our sql formatter
Make review-ready migrations
Turn a machine-generated, single-line migration or dbt model into a cleanly indented statement your reviewers can actually read, with consistent casing for tidy Git diffs.
Match your engine exactly
Formatting for the right dialect avoids mangling engine-specific syntax: backtick identifiers in MySQL, bracketed ones in T-SQL, or Snowflake and BigQuery functions all stay intact.
Compact for logs and code
Minify a formatted query back to one line when you need to embed it in a string literal, a config file, or a log line without wrapping.
Private by design
Because it runs locally, you can format queries containing proprietary schemas, internal table names or literal PII, none of it leaves your machine.
Built for the way you work
From quick one-off fixes to daily workflows, see how people put this tool to use.
- Backend developer
Clean up a generated migration
Paste a one-line migration or an ORM-generated statement, format it for your dialect, and commit a readable version so reviewers can reason about the schema change.
- Data / analytics engineer
Standardise dbt models & warehouse SQL
Format BigQuery or Snowflake models to a house style with consistent keyword case and indentation, keeping large analytical queries with many CTEs maintainable.
- DBA
Read a query pulled from logs
Drop a slow query captured from a log or the network tab, beautify it, and follow the joins and WHERE conditions to find what to index.
- Student
Learn query structure
Beautify a compact example to see how SELECT, FROM, JOIN, WHERE and GROUP BY nest together, with instant, engine-correct formatting as you edit.
Supported formats
Accepts SQL and TXT, and produces SQL, all processed locally in your browser.
- SQL
- TXT
- SQL
Frequently asked questions
Recommended tools
JSON Formatter
Format, validate and minify JSON in your browser with pinpoint error line + column, jump-to-error, key sorting and live editing: nothing is uploaded.
JWT Decoder
Decode and inspect any JSON Web Token instantly. Read the header, payload and signature, see when it was issued and expires, and optionally verify an HS256 signature. 100% in-browser. Your token never leaves your device.
Base64 Encoder
Encode text or any file to Base64 instantly: Unicode-safe, with a URL-safe toggle and one-click data URLs. Runs entirely in your browser, nothing uploaded.
UUID Generator
Generate secure UUIDs instantly, random v4, time-ordered v7, or the nil UUID. Bulk-generate up to 1,000, copy or export as TXT/CSV, all in your browser.
Barcode Generator
Generate scannable 1D barcodes (CODE128, EAN-13, UPC-A, CODE39, ITF-14, MSI, pharmacode and Codabar) live in your browser, with per-format validation and PNG or SVG export. Nothing is uploaded.
Base64 Decoder
Decode Base64 back to text or a file instantly: Unicode-safe, auto-detects URL-safe input, sniffs binary data and offers a download. Runs fully in your browser, nothing uploaded.
Common problems, solved
Hit a snag? Here are quick fixes for the issues people run into most.
My query didn't change or looks wrong after formatting.
Make sure the dialect matches your database. A T-SQL query with bracketed identifiers or a MySQL query with backticks can format oddly under Standard SQL. Switch the dialect picker to your actual engine and re-run.
It threw an error on my SQL.
The formatter tokenises SQL and can reject genuinely malformed input, an unterminated string, an unbalanced parenthesis, or a stray delimiter. Read the message, fix the flagged construct, and it will format. It formats syntax. It does not execute or validate against a live schema.
Keyword case didn't apply to my column names.
Keyword-case control only touches reserved words (SELECT, FROM, JOIN…), never your identifiers. Table and column names are always preserved exactly so your query keeps working on case-sensitive engines.
Minify put everything on one line but I wanted it compact and readable.
Minify is intentionally a single line for logging and embedding. For a compact-but-readable result, use Beautify with 2-space indentation instead.
Get the most out of it
Set the dialect first. It changes how identifiers and engine-specific keywords are formatted more than any other option.
Use UPPER keyword case for a classic, scannable look, or preserve to keep exactly what you typed for lower-case house styles.
Press Ctrl/Cmd+Enter to re-run instantly, and Ctrl/Cmd+S to download the formatted query as a .sql file.
Toggle Minify to collapse a formatted statement into a one-liner you can paste straight into a string literal or a psql/mysql shell.
Formatting big multi-CTE queries? 4-space indentation makes deeply nested subqueries easier to follow.
What's new
Recent updates and improvements to the sql formatter.
Initial release, live dialect-aware beautify/minify for eight engines, keyword-case control, 2/4/tab indentation, before/after size stats, drag-drop import, undo/redo and shareable links.
Added keyboard shortcuts (run, download, clear, undo/redo) with an in-tool helper, plus a curated set of sample queries covering joins, CTEs and window functions.
Refined Minify to preserve string literals and comments correctly, and improved error messages for unterminated strings and unbalanced parentheses.
Keep exploring
Problems we solve
Definitions
From the blog
- URL Encoding Explained: When and Why to Percent-Encode
- How to Find Exposed API Keys in Your Code (Before Someone Else Does)
- No AI Inside: How Our Regex Generator Actually Works
- How to Generate TypeScript Types from JSON (API Responses Made Type-Safe)
- Regex Cheat Sheet: Common Patterns and How to Test Them
Explore categories
By file type
Common tasks
Your privacy is built in
Your SQL is tokenised and formatted entirely in your browser. It is never uploaded to any server. Nothing is stored, logged or transmitted, so you can safely format queries containing proprietary schema names, internal tables or literal personal data. Close the tab and every trace is gone.
- Runs in your browser
- No uploads
- Nothing stored
Ready to try the sql formatter?
Free, private and instant. SQL Formatter runs right in your browser.