Skip to content
SPECIFICTION
Get listed

Poor SQL vs sqlfmt

Poor SQL

poorsql.com

sqlfmt

github.com

Side by side

FigurePoor SQLsqlfmt
Price fromFreeFree
Free planYesYes
Free trial——
Open sourceYes—
WebYesYes
WindowsYes—
LinuxYesYes
APIYesYes
Self-hosted—Yes
Plans published11
Spec score · SQL Linters and Formatters9.0 (#1)8.5 (#3)
Editor integrationsDownloads and repositories provide integrations for SSMS, Visual Studio, Notepad++, WinMerge, Atom, and Visual Studio Code.The repository provides an Emacs sqlfmt-mode and a Vim ftplugin using formatprg and equalprg.

Plans

Poor SQL

  • FreeFree

Poor SQL pricing →

sqlfmt

  • Browser formatterFree

sqlfmt pricing →

In their own words

Poor SQL

Poor SQL reformats and colorizes T-SQL according to settings such as indentation, tab spacing, maximum width, and where statements and clauses break. It can expand comma lists, boolean and CASE expressions, and JOIN ON sections. Formatting runs in the browser, including offline, and the site says submitted SQL is not sent to an external service. Output views include input SQL, formatted SQL, and HTML source. An obfuscation and minification option can vary colors, line lengths, and keyword case, or substitute keywords. Downloads include plugins for SQL Server Management Studio, Visual Studio, and WinMerge, plus a command-line bulk formatter. The open-source Poor Man’s T-SQL Formatter library is AGPL-licensed and supports Microsoft.NET and Mono; its JavaScript library works in browsers and contexts such as Node.js. The project describes its parsing as coarse rather than full, especially for DDL. The free plan is free. Settings are remembered with a cookie; blocking cookies restores defaults on each visit.

Visit poorsql.com

sqlfmt

sqlfmt is a free formatter for PostgreSQL SQL, available as a command-line tool and as a browser formatter running through WebAssembly. Its river-aligned style pads clause keywords so they share a column. The CLI reads SQL from files or stdin and writes formatted SQL to stdout; it can also rewrite files in place, list files needing changes, and show unified diffs. Its explain subcommand formats PostgreSQL plan text and can provide advice, canonicalized output, or structural comparisons. Plan advice describes join order, join and access methods, and parallelism, without costs, row estimates, or timing. The explain diff operation returns exit code 0 for structurally identical plans and 1 when structures differ, so it can be used in scripts and CI. A Go subpackage provides formatting for Go programs, and the project includes Emacs and Vim integrations. The browser build exposes formatting and version functions to JavaScript. Deeply nested subqueries and less common upsert or DDL forms remain best-effort areas. sqlfmt is intended for standalone formatting and SQL used in The Art of PostgreSQL book and courses.

Visit github.com