PostgreSQL Formatter & Beautifier

Format and beautify your PostgreSQL queries instantly. Supports functions, CTEs, JOINs, and all PostgreSQL syntax.

Client-side only — nothing leaves your browser

Formatted SQL will appear here...

Why Format Your SQL?

Formatted SQL is easier to read, debug, and maintain. Consistent formatting helps teams collaborate effectively and makes complex queries understandable at a glance. Our formatter handles PostgreSQL-specific syntax including CTEs, window functions, and JSONB operations.

Supported Features

  • Queries — SELECT, INSERT, UPDATE, DELETE, MERGE
  • DDL — CREATE TABLE, ALTER, DROP, INDEX
  • Functions — CREATE FUNCTION, DO blocks
  • Advanced — CTEs, window functions, LATERAL

Formatting Styles

StyleDescriptionExample
StandardKeywords on new lines, indented clausesSELECT
col
FROM
table
Tabular LeftKeywords left-aligned in columnSELECT col
FROM table
WHERE x = 1
Tabular RightKeywords right-aligned in columnSELECT col
  FROM table
 WHERE x = 1

Frequently Asked Questions

What is a PostgreSQL formatter?
A PostgreSQL formatter is a tool that automatically restructures your raw SQL into clean, consistently indented code. It parses your query, applies style rules like keyword casing and indentation, and outputs readable SQL. This is especially useful for complex PostgreSQL queries with CTEs, subqueries, and joins that are difficult to read as a single line.
What's the difference between uppercase and lowercase SQL keywords?
Both are valid in PostgreSQL since SQL keywords are case-insensitive. Uppercase (SELECT, FROM, WHERE) is the traditional convention and improves readability by distinguishing keywords from identifiers. Lowercase is increasingly popular in modern codebases. Choose one style and stay consistent across your project.
Does the formatter handle PostgreSQL-specific syntax?
Yes, our formatter supports PostgreSQL-specific features including: RETURNING clauses, ON CONFLICT (upsert), array operations, JSONB operators (->>, #>), window functions, LATERAL joins, DISTINCT ON, and dollar-quoted strings. It's optimized for PostgreSQL dialect.
How do I format a PostgreSQL function or stored procedure?
Our formatter handles CREATE FUNCTION, CREATE PROCEDURE, and DO blocks. It properly indents the function body, DECLARE blocks, BEGIN/END statements, and nested control structures like IF/ELSE and LOOP. The formatter preserves $$ dollar-quoting used in PostgreSQL functions.
How does this compare to formatting PostgreSQL in VS Code?
VS Code extensions like sql-formatter or pgFormatter require installation, configuration, and editor lock-in. This online formatter works instantly in any browser with no setup. It's ideal for quick one-off formatting, sharing formatted SQL with teammates, or formatting queries when you're away from your usual editor. For automated formatting on every save, a VS Code extension may be more convenient.
PostgreSQL

Need a PostgreSQL GUI Client?

1bench is a modern database client for PostgreSQL and 20+ other databases. Query, browse, and manage your data visually.

Learn More