Skip to content
SPECIFICTION
Get listed

Scalafix vs Spoon

Scalafix

scalacenter.github.io

Spoon

spoon.gforge.inria.fr

Side by side

FigureScalafixSpoon
Price from—Free
Free plan—Yes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYesYes
API—Yes
Self-hosted—Yes
Plans published01
Spec score · Code Refactoring Tools7.0 (#20)7.8 (#10)
PurposeScalafix is a refactoring and linting tool for Scala.Spoon is an open-source library for analyzing, rewriting, transforming, and transpiling Java source code.
RefactoringIt can automate day-to-day code health tasks and one-time migration scripts.The documentation describes local-variable and generic-variable refactoring helpers, as well as a helper for removing deprecated methods.

Plans

Scalafix

No plans published.

Scalafix pricing →

Spoon

  • Free and Open SourceFree

Spoon pricing →

In their own words

Scalafix

Scalafix is a refactoring and linting tool for Scala that automates routine code-health work and one-time migrations. It reports patterns that may lead to production bugs or conflict with coding style, and teams can run rules during code review. Its check option fails when linting or fixes are needed. Syntactic rules run directly on source code; semantic rules need compiled sources with the SemanticDB compiler plugin enabled. Built-in rules include OrganizeImports, RemoveUnused, DisableSyntax, ProcedureSyntax, and RedundantSyntax. Developers can also create custom lint and rewrite rules through its public API. The official build integration is for sbt. Documentation also lists externally maintained integrations for scala-cli, Mill, Gradle, Maven, and Mega-Linter, whose integration supports only built-in syntactic rules. Scalafix is tested on macOS, Linux, and Windows. Listed tested Scala versions are 2.12.21, 2.13.18, and 3.9.0 LTS. It is no longer published for Scala 2.11 or sbt 0.13.x. Community help is available through Discord and Scala Users. The tool is free.

Visit scalacenter.github.io

Spoon

Spoon is a free, open-source library for analyzing, rewriting, transforming, and transpiling Java source code. It parses source files into an abstract syntax tree (AST), then exposes APIs for inspecting and changing that model. Processors can perform source-level static analysis on selected AST element types, while architectural rules can be expressed as AST checks and run as JUnit tests in continuous integration. Transformation facilities cover instrumentation and refactoring, including helpers for local and generic variables and removing deprecated methods. Spoon can also provide shared analysis of binary and source code through CtClass objects as an alternative to Java reflection. The project supports Java source up to Java 25, but runtime requirements vary: Spoon 11.x needs JDK 17 or later, 10.x needs JDK 11 or later, and 9.x needs Java 8. It is available through Java, the command line, Maven, and Gradle, with a dependency JAR on Maven Central. Command-line use requires manual classpath handling and source dependencies specified with --source-classpath. Spoon is an official Inria project and an OW2 consortium member.

Visit spoon.gforge.inria.fr