Babel is a transpiler for JavaScript, used to convert edge JavaScript into plain old ES5 JavaScript that can be run in any browser (even the old ones).
It’s needed because new versions of JavaScript are being released every year, but many users’ browsers can’t always run the latest features. Developers want to use these new features to write better, cleaner code, but need to ensure that their code works for every user.
Babel allows developers to write their code using the latest features, and then transpiles that code back to the version of JavaScript that can be understood by a majority of browsers. This way, developers can keep using the latest features without worrying about whether their code will run on a particular browser.
Additionally, Babel is extensible and pluggable, enabling developers to write custom transformations to tweak how their code gets converted.