
Summary
Ruff is a free Python linter and code formatter written in Rust. It includes more than 900 built-in lint rules, among them native implementations of popular Flake8 plugins, and can automatically fix violations such as unused imports. Its formatter is designed as a replacement for Black, though the documentation notes possible differences at the margins. Ruff’s Language Server provides diagnostics, code actions, and formatting; the docs recommend pairing it with another Python language server for navigation and autocompletion. Setup guides cover VS Code, Sublime Text, PyCharm, and Zed, as well as GitHub Actions, GitLab CI/CD, and pre-commit hooks. Installation options include uv, pip, pipx, standalone installers, Homebrew, and Conda. Configuration can be stored in pyproject.toml, ruff.toml, or .ruff.toml. Ruff includes a Bandit-derived group of rules for common security issues in Python code, but does not support custom or third-party lint rules. The maker describes it as 10–100x faster than existing linters and formatters such as Flake8 and Black.
Who it is for
Ruff suits Python developers who want linting, formatting, and automatic fixes in one tool. It may also suit teams using supported editors, CI integrations, or pre-commit hooks.
What is good
- More than 900 built-in rules.
- Automatically fixes some lint violations.
- Language Server offers diagnostics and formatting.
- Integrates with GitHub Actions and GitLab CI/CD.
What to know first
- Does not support custom or third-party lint rules.
- Formatter may differ from Black at the margins.
- Editor setup assistance is best-effort.
Verdict
Ruff combines Python linting, formatting, and automatic fixes, with editor and CI integrations. Its lack of custom or third-party rules is an important constraint for teams needing their own lint checks.
Ruff plans and pricing
All plansCompared on code formatting tools
- Free plan
- Yesdocs.astral.sh
Facts
- Purpose
- Ruff is a Python linter and code formatter written in Rust.docs.astral.sh · 29 Sept 2026
- Speed
- The maker describes Ruff as 10–100x faster than existing linters and formatters such as Flake8 and Black.docs.astral.sh · 29 Sept 2026
- Linting rules
- Ruff includes over 900 built-in rules, including native implementations of popular Flake8 plugins.docs.astral.sh · 29 Sept 2026
- Automatic fixes
- Ruff can automatically fix lint violations, including removing unused imports.docs.astral.sh · 29 Sept 2026
- Formatter
- Ruff’s formatter is designed as a drop-in replacement for Black, though the FAQ notes there may be differences at the margins.docs.astral.sh · 29 Sept 2026
- Editor support
- The built-in Ruff Language Server provides diagnostics, code actions to fix them, and formatting; the docs recommend pairing it with another Python language server for navigation and autocompletion.docs.astral.sh · 29 Sept 2026
- Editor integrations
- The setup guide documents integrations including VS Code, Sublime Text, PyCharm, and Zed.docs.astral.sh · 29 Sept 2026
- CI integrations
- Ruff documents integrations for GitHub Actions and GitLab CI/CD, and hooks for pre-commit.docs.astral.sh · 29 Sept 2026
- Installation
- Ruff can be installed using uv, pip, pipx, standalone installers, and package managers including Homebrew and Conda.docs.astral.sh · 29 Sept 2026
- Docker
- The maker publishes Ruff as a Docker image tagged by release and with a latest tag.docs.astral.sh · 29 Sept 2026
- Configuration
- Ruff supports configuration through pyproject.toml, ruff.toml, or .ruff.toml.docs.astral.sh · 29 Sept 2026
- Notable limit
- Ruff does not support custom or third-party lint rules.docs.astral.sh · 29 Sept 2026
- Security
- Ruff’s rules include a Bandit-derived group for detecting common security issues, including possible vulnerabilities in Python code.docs.astral.sh · 29 Sept 2026
- Support
- The editor setup documentation says setup instructions are provided on a best-effort basis and directs users to open an issue for assistance.docs.astral.sh · 29 Sept 2026
- Maker
- Astral says it builds high-performance developer tools for the Python ecosystem and that its tools are open source and permissively licensed.astral.sh · 29 Sept 2026
Best Ruff alternatives
See all 12Where it ranks on Everything Xiaomi
- Best Code Formatting Tools in 2026#7 of 34
- Best Linters in 2026#4 of 33
Is Ruff yours?
Claim it for free: prove the domain, then correct facts, plans and screenshots. An editor reviews every change.
Sources
- docs.astral.sh/ruff/· checked 29 Sept 2026
- docs.astral.sh/ruff/faq/· checked 29 Sept 2026
- docs.astral.sh/ruff/editors/· checked 29 Sept 2026
- docs.astral.sh/ruff/editors/setup/· checked 29 Sept 2026
- docs.astral.sh/ruff/integrations/· checked 29 Sept 2026
- docs.astral.sh/ruff/installation/· checked 29 Sept 2026
- docs.astral.sh/ruff/configuration/· checked 29 Sept 2026
- docs.astral.sh/ruff/rules/· checked 29 Sept 2026
- astral.sh/about· checked 29 Sept 2026

