Comparison

PHPStan vs Ruff

On the evidence we track, Ruff leads this comparison with a composite score of 73/100. Scores are only directly comparable because these tools share a category; the full breakdown and every source is below.

Machine formatsMarkdownJSONGraphQLMarkdown is open. JSON and GraphQL need a free key.
PHPStan58
★Ruff73
Score
vioscaleAI score
PHPStan58 / 100medium · 54%
Ruff73 / 100medium · 68%
Pricing
Free tier
PHPStan✓
Ruff–
Model
Price level
PHPStanlow
Ruff–
Starting price
PHPStan€7
Ruff–
Transparent
PHPStan✓
Ruff–
Integrations
Count
PHPStan3
Ruff6
Adoption
Dependent repos
PHPStan2
Ruff5,870
Github stars
PHPStan14,128
Ruff49,914
Package downloads weekly
PHPStan–
Activity
Commits last 30d
PHPStan100
Ruff100
Release
Cadence days
PHPStan3
Ruff7
History
PHPStan20 items
License
Spdx
PHPStanMIT
RuffMIT
Language
Primary
PHPStanPHP
RuffRust
Content
Faq
PHPStan8 items

Capabilities

Feature-by-feature on the axes that matter for code quality tools. “-” means undocumented, not absent.

Core
Function
PHPStanStatic analyzer
RuffLinter
Language scope
PHPStanSingle-language
RuffSingle-language
Implementation language
PHPStanPHP
RuffRust
Capability
Autofix
PHPStan✗
Ruff✓
Config
Config model
PHPStanConfig file
Ruff-
Extensibility
Custom rules
PHPStan✓
Ruff-
Deployment
Deployment
PHPStanBoth
RuffCLI-local
Delivery
Editor integration
PHPStan✓
Ruff✓
CI / VCS gating
PHPStan✓
Ruff-
Insight
Code metrics
PHPStan-
Ruff-
Performance
Incremental / monorepo aware
PHPStan✓
Ruff✓
Licensing
Open-source
PHPStanOSS
RuffOSS
Commercial
Pricing model
PHPStanFree
RuffFree

What each one is

The product in its own terms, so the numbers below have context.

PHPStan

PHPStan analyzes PHP code to detect bugs and errors before execution. It enhances code reliability by catching a wide range of issues early in development, similar to type checking in compiled languages.

Independently observed

Ruff

Leader

A tool for analyzing and formatting Python code, designed to be fast and efficient through Rust implementation, with support across multiple platforms.

Independently observed

Pricing

List pricing as published by each vendor, with the date we read it. Always verify at the source before you buy.

PHPStan

from €7/moHybridFree tier30-day trial

Free open-source, or 7 EUR/month (individual) / 70 EUR/month (team up to 25 members) for Pro features. 30-day free trial.

  • Open SourceFree
    • Static code analysis
    • Bug detection
    • Type checking
  • Individual Pro7 EUR/month
    • Web UI for browsing errors
    • Continuous analysis (watch mode)
    • Editor integration
  • Team Pro70 EUR/month (up to 25 members)
    • Web UI for browsing errors
    • Continuous analysis (watch mode)
    • Editor integration
as of verify ↗

Ruff

Leader

Pricing not documented yet.

Platform & deployment

Where each product runs and how it can be hosted. A dash means undocumented, not unsupported.

Platforms
Web
PHPStan✓
Ruff✗
macOS
PHPStan✗
Ruff✓
Windows
PHPStan✗
Ruff✓
Linux
PHPStan✗
Ruff✓
CLI
PHPStan✓
Ruff✓
Deployment
Cloud / SaaS
PHPStan✓
Ruff✗
Self-hosted
PHPStan✓
Ruff✓

Integrations

What each product connects to. Counts come from the vendor's own integration directory where one exists.

PHPStan

3 total
  • Symfony
  • Laravel
  • Doctrine
Independently observed

Ruff

Leader
7 total
  • Flake8
  • isort
  • Autoflake
  • Pyflakes
  • pycodestyle
  • Pylint
  • Visual Studio Code
Independently observed
Still deciding?

PHPStan or Ruff: which one depends on you

A composite score cannot know your constraints. Describe them and both get re-weighted against what you actually need, with the evidence behind every position.

Free to run, no account needed to start. How the evaluation works

Comparison generated from independently-sourced facts. Every value links to its source and retrieval date. See the method.