Scaladoc
docs.scala-lang.org
What it is
Scaladoc is Scala’s documentation tool for generating material about the structure of Scala source code from comments in that code. Library authors can document code for library users and other developers who need API references. Comments support Markdown in Scala 3 and legacy Wikidoc syntax, with tags for parameters, type parameters, return values, exceptions, examples, versions and deprecation. Comments can be inherited from superclasses and traits, either implicitly or using an explicit tag. Scaladoc generates HTML through sbt or its command-line tool; sbt is described as the easier route for complex projects. Generated pages can show package breadcrumbs, linear supertypes, known subclasses, type hierarchies and links to online source when available. The tool can also create static sites for documentation and blog posts. Searching for methods and fields by type is supported, though that feature is still in development. Inputs include Scala source code, TASTy files and JAR files. Scaladoc is free and open source, with no paid plans or usage limits stated.
Spec sheet
- Purpose
- Scaladoc is Scala’s main documentation tool and generates documentation related to the structure of Scala source code from comments in that code.Read 9 Oct 2026 · docs.scala-lang.org
- Audience
- Scaladoc documentation helps library users learn about a library, library authors write documentation, and developers generate library documentation.Read 9 Oct 2026 · docs.scala-lang.org
- Integrations
- The Scala documentation names sbt as the easiest and most commonly used way to generate Scaladoc from Scala code.Read 9 Oct 2026 · docs.scala-lang.org
- Security
- The Scala security policy says releases are cryptographically signed with PGP keys and encourages private vulnerability reports.Read 9 Oct 2026 · scala-lang.org
- Comment inheritance
- Scaladoc can inherit comments from superclasses and traits implicitly or through the @inheritdoc tag.Read 9 Oct 2026 · docs.scala-lang.org
- Comment tags
- Tags include @param, @tparam, @return, @throws, @example, @since, and @deprecated for documenting code entities.Read 9 Oct 2026 · docs.scala-lang.org
- Generated interface
- Generated Scaladoc can show package breadcrumbs, linear supertypes, known subclasses, type hierarchies, and links to online source when available.Read 9 Oct 2026 · docs.scala-lang.org
- Generation
- API documentation can be generated as HTML using sbt or the scaladoc command-line tool, with sbt described as the easier option for complex projects.Read 9 Oct 2026 · docs.scala-lang.org
- Limit
- The direct scaladoc command is harder to use with complex projects containing multiple Scala source files and library dependencies.Read 9 Oct 2026 · docs.scala-lang.org
- Maintainer context
- The Scala Center describes itself as an independent not-for-profit center at EPFL that coordinates open-source development of Scala libraries and tools.Read 9 Oct 2026 · scala.epfl.ch
- Markup
- Scaladoc comments support markup, including Markdown in Scala 3 and legacy Wikidoc syntax.Read 9 Oct 2026 · docs.scala-lang.org
- Search
- Scaladoc supports searching for methods and fields by their types, and the documentation describes this feature as still in development.Read 9 Oct 2026 · docs.scala-lang.org
- Static sites
- Scaladoc can create static sites for documentation and blog posts alongside generated API documentation.Read 9 Oct 2026 · docs.scala-lang.org
Plans and prices
Strong points and limits
Strong points
- Generates HTML API documentation
- Accepts Scala source, TASTy and JAR inputs
- Supports comment inheritance
- Can create static documentation sites
- Free, with no usage limits stated
Limits
- Type-based search is still in development
- Command-line use is harder for complex projects
Who it suits
Scaladoc suits Scala library authors who want API documentation generated from code comments, as well as library users who need to consult that documentation.
Verdict
Scaladoc turns Scala code comments into navigable HTML documentation and supports several documentation workflows. For complex projects, sbt is described as the easier generation route.
Where Specifiction places it
- Documentation Generators#19 of 377.6