Babel (transcompiler)

Babel is a free and open-source JavaScript transcompiler that is mainly used to convert ECMAScript 2015+ (ES6+) code into backwards-compatible JavaScript code that can be run by older JavaScript engines. It allows web developers to take advantage of the newest features of the language.

Developers can use new JavaScript language features by using Babel to convert their source code into versions of JavaScript that a Web browser can process. Babel can also be used to compile TypeScript into JavaScript. The core version of Babel was downloaded 5 million times a month in 2016, and this increased to 16 million times a week in 2019.

Babel plugins transform syntax that is not widely supported into a backward-compatible version. For example, arrow functions, which are specified in ES6, are converted into regular function declarations. Non-standard JavaScript syntax such as JSX can also be transformed.

Babel can automatically inject polyfills provided by core-js for support features that are missing entirely from JavaScript environments. For example, static methods such as  and built-ins such as   are available only in ES6 and above, but they can be used in older environments if core-js is used.