Google Closure Compiler vs Turbopack
Google Closure Compiler
developers.google.comTurbopack
nextjs.orgSide by side
| Figure | Google Closure Compiler | Turbopack |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · JavaScript Build Tools | 8.1 (#6) | 7.4 (#18) |
| Purpose | Closure Compiler optimizes JavaScript by analyzing it, removing dead code, rewriting and minimizing what remains, and checking syntax, references, and types. | Turbopack is an incremental JavaScript and TypeScript bundler written in Rust and built into Next.js. |
Plans
In their own words
Google Closure Compiler
Google Closure Compiler optimizes JavaScript by analyzing code, removing dead code, and rewriting and minimizing what remains. It can also check syntax, references, and types, and warn about illegal JavaScript, risky operations, and common pitfalls. Google says smaller output files can help applications load faster and reduce bandwidth needs. Compilation options include WHITESPACE_ONLY, SIMPLE, and ADVANCED; the repository README also lists BUNDLE. ADVANCED applies aggressive transformations and symbol renaming to improve compression, so preserving program behavior requires care. The project is available as a command-line Java application, a library used through Bazel, and an NPM package. Released JARs are distributed through Maven. The repository documents Maven, NPM, Bazel, command-line Java, and a NodeJS API. Building the compiler requires Java 21 or later, NodeJS, Git, and Bazelisk. Its input restrictions include use of goog.module() and goog.require(), and ES6 import/export support is not actively maintained. The NPM packages are built and distributed by an open source contributor, not Google. The compiler is free.
Turbopack
Turbopack is an incremental JavaScript and TypeScript bundler written in Rust and built into Next.js. It supports the Pages Router and App Router for local development and is the default bundler in Next.js for basic use without configuration. It parallelizes work across CPU cores, caches results at the function level and persists them between runs. Lazy bundling processes only what the development server requests, which can reduce initial compile time and memory use. Its support includes JavaScript, TypeScript, ECMAScript, CommonJS, ESM and Babel configuration detection in Next.js 16, along with JSX, Fast Refresh and React Server Components for the App Router. CSS support includes global CSS, CSS Modules, nesting, PostCSS and Sass/SCSS, but not custom Sass functions. It also handles static image and font imports, JSON, aliases and custom extensions. Native bindings are available for Linux, macOS and Windows. Turbopack is included in Next.js with no separate price stated. It does not perform TypeScript type checking, and it does not support webpack plugins.