Skip to content
SPECIFICTION
Get listed

Scala.js

scala-js.org

Free plan WebWindowsmacOSLinuxAPI
Visit scala-js.org
Spec score 7.6 #19 of 28 in Code Transpilers

What it is

Scala.js is a Scala-to-JavaScript compiler for building applications that run in browsers, Node.js, and serverless environments. The project also states that WebAssembly support is stable. Scala's strong typing can catch mistakes such as mixing strings and numbers or using misspelled method names, while editor support can flag type errors and show inline details about methods, arguments, return types, and documentation. The project describes incremental compilation with a 1–2 second turnaround; generated JavaScript for a full application starts at 45 kB gzipped. Scala.js can use JavaScript libraries and APIs through statically or dynamically typed access. Listed library integrations include React, Angular, Vue, Three.js, and Chart.js. Build tool options include sbt, scala-cli, Mill, and Gradle with a Scala.js plugin. Tutorials list Scala development tools and Node.js as prerequisites and recommend VS Code with Metals. Scala.js is free and distributed under the Apache License 2.0. Documentation points users to community support through Discord and Stack Overflow. The 1.22.0 release is not entirely backward source compatible with 1.21.x.

Spec sheet

Purpose
Scala.js is a Scala to JavaScript compiler for building applications that run in browsers, Node.js, and serverless environments.Read 4 Oct 2026 · scala-js.org
Support
The documentation directs users to the community for help, including Discord and Stack Overflow.Read 4 Oct 2026 · scala-js.org
License
The project repository states that Scala.js is distributed under the Apache License Version 2.0.Read 4 Oct 2026 · github.com
Build tools
The documentation names sbt, scala-cli, Mill, and Gradle with a Scala.js plugin as supported build tool options.Read 4 Oct 2026 · scala-js.org
Compatibility note
The 1.22.0 release announcement says the release is not entirely backward source compatible with 1.21.x.Read 4 Oct 2026 · scala-js.org
Correctness
The site says Scala.js uses strong typing to catch mistakes such as mixing strings and numbers or calling methods with typos.Read 4 Oct 2026 · scala-js.org
Development setup
The tutorials list Scala development tools and Node.js as prerequisites and recommend VS Code with the Metals extension.Read 4 Oct 2026 · scala-js.org
Editor support
The homepage says editor support catches typos and type errors and provides inline method, argument, return type, and documentation information.Read 4 Oct 2026 · scala-js.org
JavaScript interoperability
Scala.js can use JavaScript libraries and interact with JavaScript APIs, with either statically or dynamically typed access.Read 4 Oct 2026 · scala-js.org
Library ecosystem
The libraries page lists facades and integrations for libraries including React, Angular, Vue, Three.js, and Chart.js.Read 4 Oct 2026 · scala-js.org
Output targets
The June 2026 release announcement says WebAssembly support is stable; the homepage describes browser, Node.js, and serverless apps.Read 4 Oct 2026 · scala-js.org
Performance
The site describes incremental compilation with 1–2 second turnaround and generated JavaScript starting at 45 kB gzipped for a full application.Read 4 Oct 2026 · scala-js.org

Plans and prices

Scala.js Free Scala to JavaScript compiler · managed through a Scala build tool Read 4 Oct 2026 · scala-js.org

Every Scala.js plan and price →

Strong points and limits

Strong points

  • Targets browsers, Node.js, serverless, and stable WebAssembly.
  • Supports JavaScript libraries and APIs.
  • Build options include sbt, scala-cli, Mill, and Gradle.
  • Free and distributed under Apache License 2.0.

Limits

  • Scala development tools and Node.js are prerequisites.
  • Version 1.22.0 is not fully source-compatible with 1.21.x.

Who it suits

Scala.js suits Scala developers building applications for browsers, Node.js, or serverless environments who want to work with JavaScript libraries and APIs. It requires Scala development tools and Node.js, and its documentation recommends VS Code with Metals.

Verdict

Scala.js provides a typed Scala path to JavaScript applications, with named build tools, library integrations, and editor support. Check the 1.22.0 compatibility note when upgrading from 1.21.x.

Where Specifiction places it

Alternatives to Scala.jsAll alternatives →