Suggestions appear as you type. Use the up and down arrows to choose one and Enter to open it.

This page's audience our own tag's counts — open to see them
–Visits
–Page views
–Clicks to vendors
–Time on page
–Reading now
Clicks to vendors, by tool
  • –
Top countries
  • –
Devices
  • –

– · visits, page views and clicks counted by our own tag, which counts more than our checked analytics; every figure rounded down · how we count

Ruff review

Free#2 of 33 in LintersCode Formatting Tools

Free Python linting and formatting with more than 900 built-in rules.

9.2/10Editor score
Ruff9.2 Visit Ruff

Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026

Ruff is an open-source Python linter and code formatter for developers and teams. It checks Python files with the ruff check command, automatically fixes supported violations, and formats Python code. Its focus suits Python projects that want linting and formatting in one tool, particularly teams working across Windows, macOS, or Linux.

The feature set covers both everyday editing and automated checks. Ruff provides more than 900 built-in lint rules, including rules for unused imports, docstring formatting, and type-annotation rewrites. Configuration works through pyproject.toml, ruff.toml, and .ruff.toml. Language Server Protocol integration supports editor workflows, while Jupyter Notebook linting and formatting extends coverage beyond standard Python files. Integrations include VS Code, Neovim, Vim, Helix, Kate, Sublime Text, PyCharm, Emacs, TextMate, Zed, pre-commit, and Docker. GitHub Actions and GitLab CI/CD integrations also support automated project checks.

Ruff is free and open source, with no paid tier required for the listed linting and formatting capabilities. It also supports security rules and automatic fixes, but custom lint rules and third-party plugins are not supported. That makes Ruff a strong fit for teams comfortable with its built-in rule set and Python-only scope. Teams needing custom rule authoring, third-party plugin support, or linting across multiple programming languages should choose a different tool or use Ruff alongside another solution.

Ruff pros and cons

  • Where it wins
    • More than 900 built-in lint rules
    • Automatic fixes and built-in Python formatting
    • Editor, notebook, CI, pre-commit, and Docker integrations
  • Where it doesn't
    • Focused on Python rather than multiple languages
    • Custom lint rules are not supported
    • Third-party plugins are not supported

Ruff fact sheet, pricing and score →

Advertiser disclosure: iTechGuides is reader-supported. Vendors can pay for top positions in our rankings and for a place on other products' pages, and we may earn a commission when you click some links. Bought places stand at the number bought; this page and our disclosure say so. Paying vendors may get a fuller, more detailed review from our editors, and that review can change their score. How we rank.

Last updated · How we research and update