🌐
npm
npmjs.com › package › @babel › core
babel/core
May 25, 2026 - Babel compiler core.. Latest version: 8.0.1, last published: a month ago. Start using @babel/core in your project by running `npm i @babel/core`. There are 24162 other projects in the npm registry using @babel/core.
      » npm install @babel/core
    
Published   Jun 17, 2026
Version   8.0.1
🌐
Babel
babeljs.io › docs › core-packages
Babel's core packages · Babel
babel-parser: babel-parser (Babylon) is a JavaScript parser used in Babel · babel-core: The core module that wraps everything in our transform api (used for integrations) babel-generator: Prints a string from an AST · babel-types: Babel Types is a Lodash-esque utility library for AST nodes ·
🌐
npm
npmjs.com › package › babel-core
babel-core - npm
April 27, 2018 - Babel compiler core.. Latest version: 6.26.3, last published: 8 years ago. Start using babel-core in your project by running `npm i babel-core`. There are 12187 other projects in the npm registry using babel-core.
      » npm install babel-core
    
Published   Apr 27, 2018
Version   6.26.3
Top answer
1 of 3
46

babel-core is the API. For v5 the babel package is the CLI and depends on babel-core. For v6, the babel-cli package is the CLI (the CLI bin command is still babel though) and the babel package doesn't do anything. babel-runtime I guess is just the runtime (polyfill and helpers) to support code that's already been transformed.

2 of 3
21

TL;DR The things to compare here are:

  1. babel (use for 5.x.x) vs babel-cli+babel-core (pick one for 6.x.x)
  2. babel-polyfill (use for non-libraries) vs babel-runtime+babel-plugin-transform-runtime (use for libraries)

From https://babeljs.io/blog/2015/10/31/setting-up-babel-6:

The babel package is no more. Previously, it was the entire compiler and all the transforms plus a bunch of CLI tools, but this lead to unnecessarily large downloads and was a bit confusing. Now we’ve split it up into two separate packages: babel-cli and babel-core.

npm install --global babel-cli

or

npm install --save-dev babel-core

If you want to use Babel from the CLI you can install babel-cli or if you want to use the Node API you can install babel-core.

babel-runtime just allows polyfills that don't pollute the global space, unlike babel-polyfill which pollutes your global space. From http://babeljs.io/docs/plugins/transform-runtime/:

[babel-runtime] automatically polyfills your code without polluting globals. (This plugin is recommended in a library/tool)

If you use babel-runtime, you should also

npm install --save-dev babel-plugin-transform-runtime

In most cases, you should install babel-plugin-transform-runtime as a development dependency (with --save-dev) and babel-runtime as a production dependency (with --save).

The transformation plugin is typically used only in development, but the runtime itself will be depended on by your deployed/published code.

Also, babel-runtime+babel-plugin-transform-runtime and babel-polyfill are generally mutually exclusive--meaning you should only use one or the other. From a comment here http://jamesknelson.com/the-six-things-you-need-to-know-about-babel-6/:

You should be using either babel-polyfill or babel-runtime. They are mutually exclusive—unless of course you know what you are doing. But they are essentially the same thing. These are just helpers. babel-polyfill achieves the same goal by mutating globals whereas babel-runtime does so modularly. Unless you are developing a library, I’d recommend you use the polyfill.

🌐
Babel
babeljs.io › what is babel?
What is Babel? · Babel
Babel is a toolchain that is mainly used to convert ECMAScript 2015+ code into a backwards compatible version of JavaScript in current and older browsers or environments. Here are the main things Babel can do for you: ... Polyfill features that are missing in your target environment (through ...
🌐
Babel
babeljs.io › @babel/core
@babel/core · Babel
The expectation is that callers will take the config's .options, manipulate it as they see fit and pass it back to Babel again. This function accepts one additional option as part of the options object in addition to the standard options: showIgnoredFiles. When set to true, loadPartialConfig always returns a result when a file is ignored, rather than null. This is useful in order to allow the caller to access the list of files that influenced this outcome, e.g. for watch mode.
🌐
Medium
mohammadtaheri.medium.com › what-is-babel-and-how-does-it-work-2cd18311980d
What is Babel and How does it work? | by Mohammad Taheri | Medium
December 7, 2024 - For instance, in this code, we specify that if an Identifier is encountered (in our example, the name is Identifier), and when entering the node, use these plugins: The order of plugins is important, and it is recommended adding older plugins at the end of array, more · Now we want to change the name identifier to firstName in code, we can use @babel/core or use each library, I installed each library separately:
🌐
GitHub
github.com › babel › babel › tree › HEAD › packages › babel-core
babel/packages/babel-core at 266d1f55bf3224aab547c261365455b2b2d63f48 · babel/babel
🐠 Babel is a compiler for writing next generation JavaScript. - babel/packages/babel-core at 266d1f55bf3224aab547c261365455b2b2d63f48 · babel/babel
Author   babel
JavaScript compiler that compiles ES2015+ code into backwards compatible JavaScript for older versions of browsers
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 … Wikipedia
Factsheet
Original author Sebastian McKenzie
Developer Contributors
Release September 28, 2014; 11 years ago (2014-09-28)
Original author Sebastian McKenzie
Developer Contributors
Release September 28, 2014; 11 years ago (2014-09-28)
Find elsewhere
🌐
Wikipedia
en.wikipedia.org › wiki › Babel_(transcompiler)
Babel (transcompiler) - Wikipedia
July 20, 2025 - 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, ...
🌐
Generalist Programmer
generalistprogrammer.com › home › tutorials › npm packages › babel-core: complete babel compiler core guide & tutorial
Babel-core: Complete Babel compiler core Guide & Tutorial
November 16, 2025 - 🎮 Phaser Game Dev Bundle — 10 complete games with full TypeScript source code.Get it for $19 → ... Master babel core: Babel compiler core. 0+ weekly downloads. Installation guide, examples & best practices included. ... @babel/core is a Babel compiler core.. With 0 weekly downloads, it's one of the most widely used packages in the JavaScript ecosystem.
🌐
StackShare
stackshare.io › stackups › npm-babel-core-vs-npm-core-js
babel-core vs core-js | What are the differences? | StackShare
Babel-core has a broader scope: Babel-core not only transforms syntax but can also be used for handling additional functionalities such as JSX transformation, TypeScript compilation, and code minification.
🌐
Babel
babeljs.io › usage guide
Usage Guide · Babel
To go one step further, if you know exactly what features you need polyfills for, you can require them directly from core-js. Since we're building an application we can just install @babel/polyfill: ... Note the --save option instead of --save-dev as this is a polyfill that needs to run before your source code. Now luckily for us, we're using the env preset which has a "useBuiltIns" option that when set to "usage" will practically apply the last optimization mentioned above where you only include the polyfills you need.
🌐
GitHub
github.com › babel › babel › discussions › 12605
What's the best practice of babel & core-js? · babel/babel · Discussion #12605
Please reload this page. ... Babel is normally used for running new syntax in older environments, while core-js (and polyfills in general) is for using new built-in functions in older environments.
Author   babel
🌐
GitHub
github.com › babel › babel › tree › main › packages › babel-core
babel/packages/babel-core at main · babel/babel
🐠 Babel is a compiler for writing next generation JavaScript. - babel/packages/babel-core at main · babel/babel
Author   babel
🌐
GitHub
github.com › babel › babel › tree › master › packages › babel-core
babel/packages/babel-core at master · babel/babel
May 23, 2022 - 🐠 Babel is a compiler for writing next generation JavaScript. - babel/packages/babel-core at master · babel/babel
Author   babel
🌐
jsDocs.io
jsdocs.io › package › @babel › core
babel/core@7.29.7
May 25, 2026 - Used to detect ConfigItem instances from other Babel instances. ... The directory that the options for this item are relative to.
🌐
GeeksforGeeks
geeksforgeeks.org › javascript › what-is-babel
What is Babel? - GeeksforGeeks
July 23, 2025 - Babel is a JavaScript compiler and toolchain designed to transform modern JavaScript code (ES2015+ and beyond) into a version that can run in older browsers or environments. By converting new syntax into compatible JavaScript, Babel allows ...
🌐
Adropincalm
adropincalm.com › blog › babel-in-less-than-5-mins
Babel in less than 5 mins - A Drop In Calm
December 24, 2023 - Babel is a JavaScript compiler mainly known for React and the ability to use js syntax not yet shipped to the browser. In this introduction we’ll try to cover some of the core ideas such as @babel/core, @babel/cli, plugins, presets and the config file. The main idea In the js world, we like ...