Sqruff
United Kingdom
What it is
Sqruff is a SQL linter and formatter written in Rust, designed to check SQL and apply configurable formatting and fixes. Dialect and rule choices are stored in a project `.sqruff` configuration file. Supported dialects include ANSI, Athena, BigQuery, ClickHouse, Databricks, DuckDB, MySQL, Oracle, Postgres, Snowflake, SQLite, Trino, and others. The project also lists column-level data lineage analysis for SQL queries. Developers can use its VS Code and Zed integrations, or an LSP server with other LSP-capable editors. A documented GitHub Action supports use in CI, and a browser playground is available for trying Sqruff. Installation options include Homebrew, a bash installer, pip, cargo, binary releases, and an official Docker image. The public project provides an Apache-2.0 license and is free. Its supported dialect list also includes DB2, Exasol, Greenplum, Hive, MariaDB, Redshift, SparkSQL, Teradata, TSQL, and Vertica. Support for dbt projects is marked experimental.
For and against
For
- Configurable linting, formatting, and automatic fixes.
- Supports a broad list of SQL dialects.
- Integrates with VS Code, Zed, and LSP editors.
- GitHub Action is documented for CI use.
- Free, with an Apache-2.0 license.
Against
- dbt project support is experimental.
- Configuration uses a project `.sqruff` file.
The verdict
Sqruff combines SQL linting, formatting, and fixes with editor and CI options. Check its dialect support and experimental dbt status against your project requirements.
Who it suits
Sqruff suits developers who want configurable SQL linting and formatting in editors or CI workflows. It may also fit teams whose SQL dialect is listed among its supported options.
Plans and prices
Sqruff
Open-source SQL linter and formatter
Read 29 Sep 2026 · github.com
On the record
- Browser playground
- The project provides a browser playground for trying Sqruff.playground.quary.dev · read 29 Sep 2026
- CI integration
- The installation guide documents a GitHub Action for installing and running Sqruff in CI.playground.quary.dev · read 29 Sep 2026
- Configuration
- Sqruff reads dialect and rule settings from a project `.sqruff` configuration file.playground.quary.dev · read 29 Sep 2026
- dbt support
- The overview labels dbt project support as experimental.playground.quary.dev · read 29 Sep 2026
- Editor integrations
- Sqruff maintains VS Code and Zed integrations and provides an LSP server for other LSP-capable editors.playground.quary.dev · read 29 Sep 2026
- Installation
- The guide lists Homebrew, a bash installer, pip, cargo, binary releases, and an official Docker image as installation options.playground.quary.dev · read 29 Sep 2026
- Lineage
- The overview lists column-level data lineage analysis for SQL queries as a feature.playground.quary.dev · read 29 Sep 2026
- Linting and formatting
- It offers customizable SQL linting and configurable automated formatting.playground.quary.dev · read 29 Sep 2026
- Maker
- The GitHub organization describes Quary as an open-source analytics platform for engineers and lists the United Kingdom as its location.github.com · read 29 Sep 2026
- Open source license
- The GitHub repository identifies the project as public and provides an Apache-2.0 license.github.com · read 29 Sep 2026
- Purpose
- Sqruff is a SQL linter and formatter written in Rust, focused on formatting valid SQL for specific dialects and providing fast linting and fixing.playground.quary.dev · read 29 Sep 2026
- SQL dialects
- Supported dialects include ANSI, Athena, BigQuery, ClickHouse, Databricks, DuckDB, MySQL, Oracle, Postgres, Snowflake, SQLite, Trino, and others.playground.quary.dev · read 29 Sep 2026