Skip to content
SPECIFICTION
Get listed

Spotless

github.com

Free plan WindowsmacOSLinux
Visit github.com
Spec score 7.3 #28 of 34 in Code Formatting Tools

What it is

Spotless formats source code and can check files for formatting violations or apply fixes. It supports languages and formats including Java, Kotlin, JavaScript, Python, SQL, YAML, and Markdown, with formatter options such as Google Java Format, ktlint, Prettier, ESLint, Black, and ScalaFmt. The project integrates with Gradle and Maven and links to an external SBT integration. Its README links to VS Code and IntelliJ integrations. Spotless lists automatic idempotency and encoding safeguards for Gradle, Maven, and SBT. Git-based features include ratcheting from a Git reference for Gradle and Maven, and Git-defined line endings for all three build tools. Some capabilities, including ratcheting and fast incremental formatting, are unavailable in SBT. The repository identifies the license as Apache-2.0. Spotless is available for Linux, macOS, and Windows. DiffPlug directs questions to its forum and lists a technical support contact; security disclosures can be sent to [email protected]. Its plan listing includes a free plan at free, billed free forever with no registration required, and also lists a free trial.

Spec sheet

Purpose
Spotless formats source code and can check files for formatting violations or apply fixes.Read 9 Oct 2026 · github.com
Support
DiffPlug directs questions to its forum and lists a technical support contact on its About page.Read 9 Oct 2026 · diffplug.com
License
The GitHub repository identifies its license as Apache-2.0.Read 9 Oct 2026 · github.com
Build tools
The project provides integrations for Gradle and Maven, and links to an external SBT integration.Read 9 Oct 2026 · github.com
Editor integrations
The README links Spotless integrations for VS Code and IntelliJ.Read 9 Oct 2026 · github.com
Formatter integrations
The feature matrix lists formatter steps including Google Java Format, ktlint, Prettier, ESLint, Black, and ScalaFmt.Read 9 Oct 2026 · github.com
Formatting safeguards
The feature matrix lists automatic idempotency and encoding safeguards for Gradle, Maven, and SBT.Read 9 Oct 2026 · github.com
Git support
The feature matrix lists ratcheting from a Git reference for Gradle and Maven, and Git-defined line endings for Gradle, Maven, and SBT.Read 9 Oct 2026 · github.com
Languages
Spotless lists support for languages and formats including Java, Kotlin, JavaScript, Python, SQL, YAML, and Markdown.Read 9 Oct 2026 · github.com
Maker location
DiffPlug says it is based in San Francisco, California.Read 9 Oct 2026 · diffplug.com
Maturity of build-tool support
The README feature matrix marks some capabilities as unavailable in SBT, including ratcheting and fast incremental formatting.Read 9 Oct 2026 · github.com
Security contact
The repository asks users to email [email protected] for security disclosures.Read 9 Oct 2026 · github.com

Plans and prices

Free Free free forever, no registration required Groundbreaking git interface · Syntax highlighting for over 40 languages · View and diff images · View Simulink, Stateflow, and Simscape models Read 9 Oct 2026 · diffplug.com
dp.simstate.differ Price not published per license / month year Everything in Free · Diff Simulink, Stateflow, and Simscape models · Export diffs as PDF and DOCX reports Read 9 Oct 2026 · diffplug.com

Every Spotless plan and price →

Strong points and limits

Strong points

  • Checks formatting and can apply fixes.
  • Supports Gradle and Maven, with an SBT integration linked.
  • Formatter options include Prettier, Black, and ktlint.
  • Offers editor integrations for VS Code and IntelliJ.

Limits

  • Some capabilities are unavailable in SBT.
  • The SBT integration is external.
  • The listed plan includes unrelated image and model viewing features.

Who it suits

Spotless suits developers and teams that want formatting checks or automatic fixes integrated into their build tools or editors. It can also fit projects using several supported languages or wanting to format changed lines.

Spotless in depth

Read the full write-up

Spotless is an open-source formatter that checks code for style violations and can apply fixes within build workflows. It is best suited to teams maintaining mixed-language repositories with Gradle or Maven. Its breadth is a strength, but SBT users give up some workflow capabilities.

Overview

Spotless brings formatting checks and fixes into project builds rather than limiting them to an editor. Its coverage across languages and formatter tools makes it a practical shared layer for repositories with several stacks. Teams working in one language may find a dedicated formatter a more focused fit.

The project is licensed under Apache-2.0 and supports Linux, macOS, and Windows. Its README links integrations for VS Code and IntelliJ, while DiffPlug directs questions to its forum and provides a technical support contact on its About page.

Key features

Language and formatter coverage

Spotless supports formats and languages including Java, Kotlin, JavaScript, Python, SQL, YAML, and Markdown. Formatter steps include Google Java Format, ktlint, Prettier, ESLint, Black, and ScalaFmt. That variety lets a team apply a consistent build-level formatting workflow across different parts of a repository; it does not make Spotless the most tailored choice for a project centered on a single language.

Build integrations and safeguards

Gradle and Maven have project integrations, and an external integration is available for SBT. The feature matrix includes automatic idempotency and encoding safeguards for all three. Git-defined line endings are also supported across them, while ratcheting from a Git reference is listed for Gradle and Maven. SBT lacks that capability and fast incremental formatting, which makes it a less complete fit for teams that depend on those workflows.

Changed-lines formatting, ignore files, and a library API extend the tool beyond basic whole-project checks. These options are useful for fitting formatting into existing repository workflows, though the matrix’s SBT gaps still matter when choosing a build integration.

Pricing

Spotless is free and open source, with no paid plans or usage caps described. There is no purchase decision between tiers: teams can adopt it without a software fee, but should weigh its build-tool feature differences against their workflow needs. A free trial is not a meaningful distinction for this open-source project.

Platforms

Spotless runs on Linux, macOS, and Windows. Its supported build systems include Gradle, Maven, SBT, and other build systems, although the documented capability gaps apply specifically to SBT. VS Code and IntelliJ integrations give editor users a path to work alongside the build-based checks.

Who it's for

Spotless is a strong fit for teams that want formatting checks and fixes shared across languages and enforced through Gradle or Maven. Its formatter range and Git-aware options are especially relevant to repositories with multiple languages or established change-based workflows. Teams whose SBT process requires ratcheting or fast incremental formatting should look elsewhere or account for those omissions.

Pros and cons

Broad formatter coverage: supports tools such as Prettier, Black, ktlint, and ScalaFmt, helping mixed-language repositories share a build-level approach.

Useful workflow safeguards: idempotency, encoding checks, and Git-defined line endings are available across Gradle, Maven, and SBT.

Uneven SBT support: ratcheting and fast incremental formatting are unavailable, unlike the corresponding Gradle and Maven capabilities.

Free and open source: Apache-2.0 licensing avoids a software fee, though teams still need to choose an integration suited to their build workflow.

Alternatives

For a Python-focused project, Black is a free Python code formatter and a narrower alternative. Prettier is another free open-source code formatter, with enterprise support and maintenance offered through Tidelift Subscription. For web projects, Biome offers a free open-source toolchain.

Teams focused on Haskell can consider free formatters Fourmolu or Ormolu. rustfmt is a free option with no paid plans stated, while Fantomas targets F# source code as a .NET tool under Apache 2.0. Accessibility Test Framework for Android is a free alternative for readers considering that tool.

Browse the Code Formatting Tools list for more options.

Verdict

Choose Spotless if your team wants a free, open-source way to apply formatting checks and fixes across languages within Gradle or Maven builds. Its range of formatters and build safeguards are the main reasons to choose it. Look elsewhere if your SBT workflow depends on ratcheting or fast incremental formatting, or if a focused single-language formatter better fits your project.

Verdict

Spotless provides code formatting across multiple languages and build environments, with differing feature coverage by build tool. Teams using SBT should account for the listed capability gaps.

Where Specifiction places it

Alternatives to SpotlessAll alternatives →