RegSQL vs sqlfmt
RegSQL
regsql.comsqlfmt
github.comSide by side
| Figure | RegSQL | sqlfmt |
|---|---|---|
| Price from | $8/mo | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Linux | — | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 4 | 1 |
| Spec score · SQL Linters and Formatters | 8.8 (#2) | 8.5 (#3) |
Plans
In their own words
RegSQL
RegSQL is a web SQL workspace combining browser-local formatting with optional AI assistance. Formatting runs in a browser worker without an account or server round trip. It adjusts whitespace and casing while preserving query logic, aliases, and comments, and accepts multi-statement input up to 1 MB. Listed dialects are PostgreSQL, MySQL, MariaDB, SQLite, BigQuery, SQL Server, Snowflake, and Oracle PL/SQL. AI tools can generate SQL from a description, explain an existing query, or suggest a repair. Formatting may reveal parsing problems, but RegSQL does not connect to a database or verify tables, columns, permissions, data types, or runtime behavior. SQL, prompts, and schema text are sent to the AI provider only after Generate, Explain, or Repair is chosen. The Free plan is free, billed Forever, with unlimited local formatting and 20 AI requests monthly. Indie costs $8 a month or $72 billed yearly ($6/month).
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.