EVERYTHING XIAOMI
Get listed
ClojureScript logo

ClojureScript

ClojureScript is a compiler that turns Clojure code into JavaScript for client and embedded application development wherever JavaScript runs.

Place
#11 of 28
Score
6.4
ClojureScript's website

What ClojureScript is

ClojureScript is a compiler that turns Clojure code into JavaScript for client and embedded application development wherever JavaScript runs. It brings Clojure data structures and language 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 remove dead code. Interactive REPL support lets developers work and test in a browser or Node.js. Browser output is the default in the quick start, with Node.js output available by selecting that target. ClojureScript can include both ClojureScript and JavaScript dependencies; the quick start demonstrates React. The build tools listed include shadow-cljs, Figwheel, Leiningen, and lein-cljsbuild, while editor resources cover Cursive, Emacs, VS Code, Light Table, Sublime Text, Vim, and Atom. It is open source under the Eclipse Public License 1.0 and is listed for Linux, macOS, Windows, web, and self-hosted environments. Documentation covers compiler and REPL options, dependencies, source maps, and other topics.

Good

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

Watch out

  • The main macOS/Linux tutorial requires a browser and Clojure.
  • The Windows quick start specifies Java 21 and a standalone JAR.
  • JavaScript module support is marked Alpha.

Who it suits

ClojureScript suits developers who want to use Clojure for client or embedded applications in JavaScript environments. Its REPLs support interactive development and testing in a browser or Node.js.

Verdict

ClojureScript combines Clojure language constructs with JavaScript output, interactive development, and a documented build and editor ecosystem. Review the prerequisites and the Alpha label on JavaScript module support for your setup.

Plans and prices

From ClojureScript's own pricing page, checked 3 Oct 2026.

All about pricing
PlanPriceWhat it gives you
ClojureScriptFreeOpen source software · Eclipse Public License 1.0

The facts

Each one read from ClojureScript's own pages, with the date it was checked.

What it does

Build ecosystem
The maker’s tools page lists shadow-cljs, Figwheel, Leiningen, and lein-cljsbuild as build tools.checked 3 Oct 2026
Debugging
The quick start says source mapped stack traces point to ClojureScript source locations instead of JavaScript locations.checked 3 Oct 2026
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.checked 3 Oct 2026
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.checked 3 Oct 2026
Editor ecosystem
The tools page lists editor support resources for Cursive, Emacs, VS Code, Light Table, Sublime Text, Vim, and Atom.checked 3 Oct 2026
Intended use
The rationale describes ClojureScript as a way to use Clojure for client and embedded application development wherever JavaScript reaches.checked 3 Oct 2026
Interactive development
The compiler supports REPLs for interactive development and testing in a browser or Node.js.checked 3 Oct 2026
JavaScript dependencies
ClojureScript supports including ClojureScript and JavaScript dependencies, and its quick start demonstrates using React.checked 3 Oct 2026
Language features
It brings Clojure’s rich data structures, functional programming, macros, reader, destructuring, and polymorphism constructs to JavaScript environments.checked 3 Oct 2026
License
Use and distribution are covered by the Eclipse Public License 1.0.checked 3 Oct 2026
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.checked 3 Oct 2026
Optimization
Its JavaScript output is compatible with Google Closure Compiler advanced compilation, which can minify output and eliminate dead code.checked 3 Oct 2026
Runtime targets
The quick start describes browser output by default and Node.js output when the node target is selected.checked 3 Oct 2026
What it does
ClojureScript is a compiler for Clojure that emits JavaScript.checked 3 Oct 2026

The company

Founded
2011checked 28 Sep 2026
The full review of ClojureScript

ClojureScript is a compiler that translates Clojure into JavaScript for browser and Node.js applications. It suits developers who want Clojure’s language model in environments where JavaScript runs. Its appeal is that focused fit, not a drop-in workflow for JavaScript-first teams.

Overview

Dating to 2011, ClojureScript targets client and embedded application development through JavaScript output. Browser output is the quick-start default; selecting the Node.js target produces Node.js output. REPLs support interactive development and testing in either environment, which gives Clojure-oriented developers a way to explore code incrementally rather than relying only on a build-and-run cycle.

The compiler’s output is compatible with Google Closure Compiler advanced compilation, which can minify generated code and remove dead code. That offers a path to smaller output, though it also makes advanced compilation part of the build considerations for teams that want those optimizations. Source-mapped stack traces point to ClojureScript source locations, a practical advantage when debugging generated JavaScript.

Key features

Clojure constructs and JavaScript dependencies

ClojureScript brings rich data structures, functional programming, macros, the reader, destructuring, and polymorphism constructs into JavaScript environments. This is a substantial reason to choose it if those features are central to how a team wants to write client or embedded software. It is a less natural choice for developers who want JavaScript syntax and tooling without adopting Clojure’s language model.

The compiler supports ClojureScript and JavaScript dependencies, and the quick start demonstrates React. That makes it possible to work with JavaScript-side dependencies rather than treating the output environment as isolated. JavaScript module support is marked Alpha in the documentation, however, so teams depending on that area should weigh the maturity label before making it a core requirement.

Builds, editors, and documentation

The surrounding ecosystem names shadow-cljs, Figwheel, Leiningen, and lein-cljsbuild as build tools. Editor support resources cover Cursive, Emacs, VS Code, Light Table, Sublime Text, Vim, and Atom. This breadth gives teams several routes to integrate ClojureScript into an existing editor preference, but the variety also means choosing and configuring a workflow rather than receiving one prescribed setup.

API and reference documentation covers compiler options, REPL options, dependency handling, advanced compilation, source maps, and JavaScript module support. Those subjects are useful for developers moving beyond the quick start, while the Alpha designation for modules is a reminder that documented functionality is not uniformly mature.

Pricing

ClojureScript is free and open source, with the ClojureScript plan listed as free. Use and distribution are covered by the Eclipse Public License 1.0. There are no paid plan trade-offs to compare; the meaningful cost is the development setup and familiarity with Clojure that the project requires.

Platforms

The directory lists Linux, macOS, Windows, web, and self-hosted availability. The quick-start prerequisites differ by setup: its main macOS and Linux tutorial specifies a browser and Clojure, while the Windows instructions specify Java 21 and the standalone ClojureScript JAR. The Node.js guidance supports stable versions at or above 0.12.X at the time described on the quick-start page; check that requirement against the intended environment rather than assuming every Node installation qualifies.

Who it's for

ClojureScript is best suited to Clojure developers who want to build client or embedded applications for JavaScript environments, and to teams willing to adopt Clojure in exchange for its data structures and functional features. It is a poor fit when the priority is simply compiling JavaScript with minimal language or setup changes, or when Alpha-marked JavaScript module support is essential to the architecture.

Pros and cons

  • Pro: Clojure’s data structures, macros, functional programming, and other language constructs are available for JavaScript-targeted applications, giving Clojure-oriented teams a distinct language choice.
  • Pro: REPLs and source-mapped stack traces support an interactive workflow and connect debugging back to ClojureScript source.
  • Pro: Free, open-source use under EPL 1.0 removes a purchase decision for individual developers and teams.
  • Con: The platform setup is not uniform: the quick start gives different prerequisites for macOS/Linux and Windows.
  • Con: JavaScript module support carries an Alpha label, which makes it a riskier foundation for teams that require mature module handling.
  • Con: Developers seeking a JavaScript-native workflow must first take on Clojure’s language model rather than simply adopting another JavaScript compiler.

Alternatives

Choose SWC instead if a free Rust-based developer toolchain and its Android, API, Linux, macOS, web, and Windows platform coverage better match your needs. Transcrypt is another free, open-source option, licensed under Apache 2.0, for its listed Linux, macOS, self-hosted, web, and Windows platforms.

Babel may suit teams looking for a free option with API, Linux, macOS, web, and Windows coverage; its plan states no paid tiers or usage limits. Google Web Toolkit is a free, Apache 2.0-licensed choice if that toolkit is the better fit, with extension, Linux, macOS, web, and Windows coverage.

Consider Kotlin/JS if you want Kotlin compiled to JavaScript and configured through the Kotlin Multiplatform Gradle plugin. Opal is a free, MIT-licensed alternative with Linux, macOS, web, and Windows coverage. Haxelib is a free option for libraries across API, Linux, macOS, and Windows. J2ObjC is a free, Apache 2.0-licensed choice for iOS-oriented work, with a Mac workstation, macOS 15 or higher, Xcode 16 or higher, and JDK 21 or higher required.

For more options, browse Code Transpilers.

Verdict

Choose ClojureScript if you want Clojure’s language features for browser or Node.js applications and value REPL-based work, source-mapped debugging, and a free open-source compiler. Look elsewhere if you need a JavaScript-native workflow or depend on mature JavaScript module support: the latter is marked Alpha, and ClojureScript’s strongest advantage comes with adopting Clojure itself.

Alternatives to ClojureScript

All alternatives
  1. 1

    JSweet

    Free planOpen sourceAndroidiOSWebAPI
    7.7Free plan
  2. 2SWC logo

    SWC

    Free planAndroidWebAPILinux
    7.1Free plan
  3. 3

    Transcrypt

    Free planWebLinuxmacOSSelf-hosted
    6.7Free plan
  4. 4
    6.6Free plan
  5. 5

    Google Web Toolkit

    Free planWebExtensionLinuxmacOS
    6.5Free plan
  6. 6

    Haxelib

    Free planAPILinuxmacOSWindows
    6.5Free plan