SQLFluff vs sqlfmt
SQLFluff
sqlfluff.comsqlfmt
sqlfmt.appSide by side
| Figure | SQLFluff | sqlfmt |
|---|---|---|
| Price from | Free | $9/mo |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | — |
| API | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 2 |
| Spec score · SQL Linters and Formatters | 8.0 (#10) | 7.9 (#12) |
| Support | The project lists documentation, GitHub, Slack, and Stack Overflow as community channels. | The maker lists [email protected] as the fastest way to reach it for questions, bug reports, feature ideas, and feedback. |
Plans
In their own words
SQLFluff
SQLFluff is an open-source, dialect-flexible SQL linter designed for ELT applications. It reports style and syntax issues, parses SQL without database access and can automatically fix many violations with one command. Documentation describes support for more than 25 dialects, including T-SQL, PostgreSQL, BigQuery and Snowflake, alongside more than 70 rules for style, structure and best practices. Jinja templating and dbt are supported, and CI/CD integration includes GitHub Actions output for pull-request annotations. SQLFluff is free under the MIT License and installs from PyPI with pip or another Python package manager. It does not execute SQL itself, but templating macros such as dbt's run_query may execute arbitrary SQL. The Jinja templater uses Jinja2 SandboxedEnvironment to limit unsafe code execution. The dbt templater requires the relevant adapter and sqlfluff-templater-dbt package; models accessing a database during compilation require database access. Community support includes documentation, GitHub, Slack and Stack Overflow.