Babel

Babel is a JavaScript toolchain created by Sebastian McKenzie in 2014, originally released under the name 6to5 because its first purpose was to convert ECMAScript 2015 (ES6) code into ECMAScript 5. As described in its own documentation, Babel is mainly used to convert ECMAScript 2015-and-newer code into a backwards-compatible version of JavaScript that runs in current and older browsers or environments.

The problem Babel solved was timing. The JavaScript language was gaining important new syntax such as arrow functions, classes, and modules, but browsers adopted those features slowly and unevenly. Developers who wanted to use modern syntax had to wait for every target browser to support it. Babel let them write new syntax immediately and compile it down to an equivalent older form, decoupling the language a team used from the language each browser understood.

Babel works by transforming syntax through a pluggable architecture of presets and plugins. A canonical example in its documentation shows an ES2015 arrow function being rewritten into an equivalent ES5 function expression. Beyond pure syntax transforms, Babel can include polyfills for missing runtime features, strip type annotations from Flow or TypeScript source, and compile JSX for React, making it a general-purpose front end for many build pipelines.

Because it handled the messy work of syntax compatibility, Babel became a near-universal layer in JavaScript builds during the mid- and late 2010s. It was commonly paired with bundlers such as webpack, where a loader ran source files through Babel as part of the build, so that the modern code authored by developers was reliably translated into what browsers could actually execute.

Babel’s influence extended beyond compatibility shims. By making it cheap to experiment with proposed syntax, it gave the JavaScript standards process real-world feedback on features before they were finalized, and it normalized the idea that the source code a team writes and the code that ships to users can be two deliberately different forms of the same program.

Sources

Last verified June 8, 2026