Skip to content
SPECIFICTION
Get listed

CoffeeScript

coffeescript.org

WebWindowsmacOSLinuxAPI
Visit coffeescript.org
Spec score 7.9 #11 of 28 in Code Transpilers

What it is

CoffeeScript is a language that compiles to JavaScript, so its output runs without a CoffeeScript interpreter. It can use existing JavaScript libraries, and JavaScript can use libraries written in CoffeeScript. Version 2 produces modern JavaScript syntax, including classes and arrow functions, and supports async functions and JSX. The `coffee` command runs scripts, compiles `.coffee` files to `.js`, and opens an interactive REPL; it can also generate inline or external source maps. Install it through npm, globally or as a project dependency. The core compiler can run in a browser or another JavaScript environment, while the command-line utility requires Node 6 or later. Its Node API compiles CoffeeScript strings and can return source maps or an abstract syntax tree. Babel transpilation is available when `@babel/core` is installed. The integrations section links to build tools, editors, frameworks, linters, formatters, and testing resources. JSX output always needs transpilation, and users must ensure their runtime supports the modern features they use or transpile the result. CoffeeScript is free and open source.

Spec sheet

Purpose
CoffeeScript is a language that compiles into JavaScript.Read 3 Oct 2026 · coffeescript.org
Integrations
The compiler supports Babel transpilation, and the site lists Gulp, Webpack, Grunt, and Broccoli as build-chain options.Read 3 Oct 2026 · coffeescript.org
Support
The maker directs bug reports, feature proposals, and ideas to its GitHub issues page and identifies a mailing list as a place to ask questions.Read 2 Oct 2026 · github.com
Browser use
The core compiler does not depend on Node and can run in any JavaScript environment, including a browser.Read 3 Oct 2026 · coffeescript.org
Command line
The `coffee` command can execute scripts, compile `.coffee` files into `.js`, and provide an interactive REPL.Read 3 Oct 2026 · coffeescript.org
Compatibility
CoffeeScript can use existing JavaScript libraries, and JavaScript can use CoffeeScript libraries.Read 3 Oct 2026 · coffeescript.org
Compatibility limit
JSX output always requires transpilation, and CoffeeScript says users are responsible for ensuring their runtime supports the modern features they use or transpiling the output.Read 3 Oct 2026 · coffeescript.org
Compiler API
The Node API can compile strings of CoffeeScript and optionally generate source maps or an abstract syntax tree.Read 3 Oct 2026 · coffeescript.org
Editor and framework support
The integrations section links to resources for build tools, code editors, frameworks, linters and formatting, and testing.Read 3 Oct 2026 · coffeescript.org
Editor support
The integrations page lists CoffeeScript support for code editors including Atom, Emacs, Vim, and Visual Studio Code.Read 2 Oct 2026 · coffeescript.org
Installation
CoffeeScript is installed through npm, either globally or as a project dependency.Read 3 Oct 2026 · coffeescript.org
JavaScript libraries
Existing JavaScript libraries can be used from CoffeeScript and vice versa.Read 2 Oct 2026 · coffeescript.org
Language features
CoffeeScript 2 includes async function and JSX syntax support.Read 2 Oct 2026 · coffeescript.org
Modern JavaScript
CoffeeScript 2 compiles to modern JavaScript syntax and includes support for async functions and JSX.Read 3 Oct 2026 · coffeescript.org
Modern output
CoffeeScript 2 produces modern JavaScript syntax, including JavaScript classes and arrow functions.Read 2 Oct 2026 · coffeescript.org
Node.js
The command-line utility requires Node 6 or later, while the core compiler can run in any JavaScript environment or in a browser.Read 2 Oct 2026 · coffeescript.org
Runtime
CoffeeScript compiles to equivalent JavaScript without runtime interpretation.Read 3 Oct 2026 · coffeescript.org
Runtime compatibility
The maker notes that JSX output always requires transpilation and that modules require Node 12 or later with type set to module in package.json.Read 2 Oct 2026 · coffeescript.org
Runtime requirements
The command-line utility requires Node 6 or later; the site says most supported modern JavaScript features run natively in Node 7.6 or later.Read 3 Oct 2026 · coffeescript.org
Source maps
The command line supports generating external or inline source maps alongside compiled JavaScript.Read 2 Oct 2026 · coffeescript.org
Support and community
The site links to a CoffeeScript chat and provides contribution guidance.Read 3 Oct 2026 · coffeescript.org
Testing integration
The integrations page lists Jest with jest-preset-coffeescript for testing.Read 2 Oct 2026 · coffeescript.org
Transpilation
CoffeeScript has built-in support for Babel transpilation, which requires @babel/core to be installed.Read 2 Oct 2026 · coffeescript.org

Strong points and limits

Strong points

  • JavaScript libraries work with CoffeeScript in both directions.
  • The CLI runs scripts and offers an interactive REPL.
  • Compiler can run in a browser.
  • Supports source maps and an abstract syntax tree.
  • Free and open source.

Limits

  • The CLI requires Node 6 or later.
  • JSX output always requires transpilation.
  • Modern features may need runtime support or transpilation.

Who it suits

CoffeeScript suits developers who want to write source that compiles to JavaScript and use JavaScript libraries. It also fits workflows needing a command-line compiler, browser-capable core compiler, or integrations with build tools and editors.

Verdict

CoffeeScript provides a JavaScript-compiling language with CLI, API, and browser compiler options. Check runtime support for the JavaScript features you use, and plan to transpile JSX output.

Where Specifiction places it

Alternatives to CoffeeScriptAll alternatives →