Skip to content
SPECIFICTION
Get listed

ClojureScript

clojurescript.org

Free plan WebWindowsmacOSLinuxSelf-hosted
Visit clojurescript.org
Spec score 8.4 #4 of 28 in Code Transpilers

What it is

ClojureScript is a compiler that turns Clojure code into JavaScript for client and embedded application development wherever JavaScript reaches. It brings Clojure data structures and constructs—including functional programming, macros, destructuring, and polymorphism—into JavaScript environments. Its output is compatible with Google Closure Compiler advanced compilation, which can minify output and eliminate dead code. REPL support enables interactive development and testing in a browser or Node.js; the quick start uses browser output by default and selects Node.js output with a target setting. ClojureScript supports both ClojureScript and JavaScript dependencies, with React demonstrated in the quick start. Listed build tools include shadow-cljs, Figwheel, Leiningen, and lein-cljsbuild. Editor resources cover Cursive, Emacs, VS Code, Light Table, Sublime Text, Vim, and Atom. Documentation includes compiler and REPL options, dependencies, advanced compilation, source maps, and JavaScript module support marked Alpha. The project is open source under the Eclipse Public License 1.0 and lists Linux, macOS, Windows, web, and self-hosted environments.

Spec sheet

What it does
ClojureScript is a compiler for Clojure that emits JavaScript.Read 3 Oct 2026 · clojurescript.org
License
Use and distribution are covered by the Eclipse Public License 1.0.Read 3 Oct 2026 · clojurescript.org
Founded
2011Read 28 Sep 2026 · clojurescript.org
Build ecosystem
The maker’s tools page lists shadow-cljs, Figwheel, Leiningen, and lein-cljsbuild as build tools.Read 3 Oct 2026 · clojurescript.org
Debugging
The quick start says source mapped stack traces point to ClojureScript source locations instead of JavaScript locations.Read 3 Oct 2026 · clojurescript.org
Development prerequisites
The quick start specifies a browser and Clojure for its main macOS/Linux tutorial, and Java 21 plus the standalone ClojureScript JAR on Windows.Read 3 Oct 2026 · clojurescript.org
Documentation
The maker provides API and reference documentation, including compiler options, REPL options, dependency handling, advanced compilation, source maps, and JavaScript module support marked Alpha.Read 3 Oct 2026 · clojurescript.org
Editor ecosystem
The tools page lists editor support resources for Cursive, Emacs, VS Code, Light Table, Sublime Text, Vim, and Atom.Read 3 Oct 2026 · clojurescript.org
Intended use
The rationale describes ClojureScript as a way to use Clojure for client and embedded application development wherever JavaScript reaches.Read 3 Oct 2026 · clojurescript.org
Interactive development
The compiler supports REPLs for interactive development and testing in a browser or Node.js.Read 3 Oct 2026 · clojurescript.org
JavaScript dependencies
ClojureScript supports including ClojureScript and JavaScript dependencies, and its quick start demonstrates using React.Read 3 Oct 2026 · clojurescript.org
Language features
It brings Clojure’s rich data structures, functional programming, macros, reader, destructuring, and polymorphism constructs to JavaScript environments.Read 3 Oct 2026 · clojurescript.org
Node.js version
The quick start says that only stable Node.js versions at or above 0.12.X are supported at the time described on that page.Read 3 Oct 2026 · clojurescript.org
Optimization
Its JavaScript output is compatible with Google Closure Compiler advanced compilation, which can minify output and eliminate dead code.Read 3 Oct 2026 · clojurescript.org
Runtime targets
The quick start describes browser output by default and Node.js output when the node target is selected.Read 3 Oct 2026 · clojurescript.org

Plans and prices

ClojureScript Free Open source software · Eclipse Public License 1.0 Read 3 Oct 2026 · clojurescript.org

Every ClojureScript plan and price →

Strong points and limits

Strong points

  • Compiles Clojure to JavaScript.
  • Supports interactive REPL development in browsers or Node.js.
  • Works with Google Closure advanced compilation.
  • Supports ClojureScript and JavaScript dependencies.
  • Open source under the Eclipse Public License 1.0.

Limits

  • Windows setup specifies Java 21 and the standalone ClojureScript JAR.
  • JavaScript module support is marked Alpha.
  • Node.js support specifies stable versions at or above 0.12.X in the quick start.

Who it suits

It suits Clojure developers building client or embedded applications for JavaScript environments. Developers can use its REPL workflow and listed build and editor ecosystems.

ClojureScript in depth

Read the full write-up

ClojureScript is a free compiler that turns Clojure into JavaScript for browser and Node.js applications. It is best suited to developers who want Clojure’s programming model across JavaScript environments. Choose it for that language fit; look elsewhere if adopting Clojure and its setup is not part of the plan.

Overview

Rather than introducing a new runtime target, ClojureScript translates Clojure source into JavaScript. Its intended reach is client and embedded application development wherever JavaScript runs. The project dates to 2011 and is distributed under the Eclipse Public License 1.0, which covers use and distribution.

Browser output is the default in the quick start; selecting the Node.js target produces Node.js output. REPL support enables interactive development and testing in either a browser or Node.js, an advantage for developers who prefer an iterative workflow. Source-mapped stack traces point to ClojureScript locations, keeping errors closer to the source developers work in.

Key features

Clojure constructs and JavaScript output

The compiler brings Clojure’s rich data structures, functional programming, macros, reader, destructuring, and polymorphism constructs to JavaScript environments. That is a substantial reason to choose it if those constructs are central to how a team wants to write client or embedded software. For a team seeking only a JavaScript-oriented compiler, the need to work in Clojure is a poor trade.

Compilation and dependencies

Its JavaScript output is compatible with Google Closure Compiler advanced compilation, which can minify output and remove dead code. ClojureScript also supports ClojureScript and JavaScript dependencies; the quick start demonstrates React use. These capabilities make it relevant to projects that need JavaScript interoperation, while the advanced compilation option gives teams a way to optimize generated output.

Tooling and documentation

The build ecosystem includes shadow-cljs, Figwheel, Leiningen, and lein-cljsbuild. Editor resources cover Cursive, Emacs, VS Code, Light Table, Sublime Text, Vim, and Atom. This range gives developers several routes into a working setup, though choosing and configuring a build tool and editor remains part of adopting the ecosystem.

API and reference documentation cover compiler and REPL options, dependencies, advanced compilation, source maps, and JavaScript module support. Module support is marked Alpha, so teams that depend on it should account for its status rather than treat it as a settled part of the workflow.

Pricing

ClojureScript is free and open source. Its ClojureScript plan costs nothing and is covered by the Eclipse Public License 1.0. There are no paid tiers or seat charges in the plan described; CLI and API access are both available. This suits individuals and teams evaluating or using the compiler without a software subscription cost, but it does not remove the work of meeting its development prerequisites.

Platforms

The listed platforms are Linux, macOS, Windows, self-hosted, and web. The quick start specifies a browser and Clojure for its main macOS and Linux tutorial. On Windows it specifies Java 21 and the standalone ClojureScript JAR. Node.js is a supported output target, and the quick start describes stable Node.js versions at or above 0.12.X as supported at the time of that page. That qualification matters when choosing a runtime; teams should confirm their target setup before committing.

Who it's for

ClojureScript fits developers and teams who already value Clojure’s functional approach and want to apply it to client or embedded applications that run where JavaScript reaches. REPL workflows and source-mapped stack traces are particularly relevant to developers who prefer interactive development and debugging against ClojureScript source.

It is less compelling for teams that want to stay in JavaScript or that need a mature JavaScript module workflow immediately. The Clojure language choice, platform-specific prerequisites, and Alpha module support are meaningful adoption considerations, not incidental setup details.

Pros and cons

Pro: Clojure data structures and language constructs compile to JavaScript, making the same language model usable in browser and Node.js contexts.

Pro: REPL support and source-mapped stack traces support an interactive workflow with errors mapped back to ClojureScript source locations.

Pro: Advanced compilation compatibility can minify output and eliminate dead code, and the compiler supports both ClojureScript and JavaScript dependencies.

Con: Adopting ClojureScript means taking on Clojure and its setup requirements; it is not a natural choice for teams seeking a JavaScript-native workflow.

Con: JavaScript module support is marked Alpha, which makes it a weaker fit where that capability must be dependable now.

Con: The quick start gives different prerequisites by platform, and its stated Node.js support floor is tied to the version described on that page.

Alternatives

For a broader directory of compiler choices, see Code Transpilers.

JSweet is a free, open-source Java-to-JavaScript transpiler; choose it when Java, rather than Clojure, is the desired source language.

SWC is a free, open-source Rust-based developer toolchain; it is an option for teams looking for that kind of toolchain rather than Clojure-to-JavaScript compilation.

Google Web Toolkit is a free, open-source option under Apache 2.0; consider it as an alternative compiler choice for web development.

Kotlin/JS is a free Kotlin compiler target for JavaScript configured with the Kotlin Multiplatform Gradle plugin; choose it when Kotlin is the source language you want to target JavaScript.

Transcrypt is free and open source under Apache 2.0; consider it when that compiler is a better fit for your project.

Babel is free, community funded, and has no paid tiers or stated usage limits; choose it when that option better suits the project’s compiler needs.

Scala.js is a free Scala-to-JavaScript compiler managed through a Scala build tool; choose it when Scala is the language your team wants to compile to JavaScript.

Cython is free under the Apache 2.0 open-source license; consider it as another open-source compiler option.

Verdict

ClojureScript is a strong choice for developers who want Clojure’s language features in applications that run on JavaScript, especially when REPL-based development and source-mapped debugging suit their workflow. Its free, open-source plan removes subscription cost, but not the learning and setup commitment. Choose another compiler if your team wants a JavaScript-native workflow or relies on JavaScript module support that is beyond Alpha.

Verdict

ClojureScript brings Clojure language features and interactive development to JavaScript output. Review the setup requirements and the Alpha status of JavaScript module support.

Where Specifiction places it

Alternatives to ClojureScriptAll alternatives →