Babel : Babel is a free and open-source transcompiler for writing next generation JavaScript.
This technology is used by 1.95% of websites in the Miscellaneous category. The most popular industry vertical is Business and Finance, with Business being the top subcategory.
What is Babel?
Babel is a JavaScript compiler that transforms modern JavaScript code into backwards-compatible versions. It enables developers to use the latest JavaScript features while ensuring code runs in older browsers and environments.
Originally called 6to5 (ES6 to ES5), Babel was created by Sebastian McKenzie in 2014 and renamed in 2015. It became essential during JavaScript's rapid evolution, letting developers adopt new syntax years before browser support arrived. Beyond transpilation, Babel's plugin system enables JSX transformation, TypeScript compilation, and countless custom code transformations.
Industry Vertical Distribution
Technologies Frequently Used with Babel
| Technology | Co-usage Rate | Website |
|---|---|---|
| jQuery | 86.04% | https://jquery.com |
| Google Analytics | 73.68% | http://google.com/analytics |
| PHP | 73.66% | http://php.net |
| MySQL | 71.95% | http://mysql.com |
| Lodash | 62.5% | http://www.lodash.com |
| Underscore.js | 56.29% | http://underscorejs.org |
| Apache | 55.55% | http://apache.org |
| Google Font API | 49.21% | http://google.com/fonts |
| MediaElement.js | 47.78% | http://www.mediaelementjs.com |
| FancyBox | 46.09% | http://fancyapps.com/fancybox |
Key Features
Syntax Transformation
- ES6+: Arrow functions, classes, destructuring
- ES2020+: Optional chaining, nullish coalescing
- Stage Proposals: Experimental JavaScript features
- Target Versions: Custom browser/Node targets
Polyfills
- core-js: Runtime polyfill injection
- Usage-Based: Only include needed polyfills
- Entry Point: Full polyfill bundle
- Regenerator: Async/await support
JSX Transform
- React: Classic and automatic runtime
- Preact: Alternative runtime support
- Custom: Configurable pragma
- Fragments: Fragment syntax support
Plugin System
- AST manipulation
- Custom transformations
- Presets for common configurations
- Plugin ordering control
AI-Powered Technology Recommendations
Our AI recommender engine, trained on 100 million data points, suggests these technologies for websites using Babel:
| Technology | AI Score | Website |
|---|---|---|
| BugSnag | 0.34 | http://bugsnag.com |
| Strikingly | 0.14 | https://strikingly.com |
| FancyBox | 0.14 | http://fancyapps.com/fancybox |
| InstantClick | 0.14 | http://instantclick.io/ |
| Weebly | 0.14 | https://www.weebly.com |
| VideoJS | 0.11 | http://videojs.com |
| Plyr | 0.11 | https://plyr.io/ |
| DigiCert | 0.1 | https://www.digicert.com/ |
| Scorpion | 0.09 | https://www.scorpion.co/ |
| LiteSpeed | 0.08 | http://litespeedtech.com |
IAB Tier 1 Vertical Distribution
Relative Usage by Industry
Market Distribution Comparison
Use Cases
React Applications
React projects use Babel to transform JSX into JavaScript. The @babel/preset-react handles JSX transformation, and recent versions support the automatic runtime that eliminates manual React imports.
Browser Compatibility
Teams ensure code works across browsers using @babel/preset-env. Browserslist configuration specifies targets, and Babel includes only necessary transformations and polyfills.
TypeScript Projects
Some projects use Babel for TypeScript compilation with @babel/preset-typescript. This approach is faster than tsc for stripping types, though type checking still requires running tsc separately.
Library Development
Library authors publish packages that work across environments. Babel compiles source code to targets that maximize compatibility while keeping bundle sizes reasonable.
Custom Syntax
Teams implement domain-specific transformations with Babel plugins. Code annotations transform into runtime checks, custom decorators compile to standard JavaScript, and more.
Code Analysis
Tools parse JavaScript with @babel/parser for static analysis. Linters, code generators, and documentation tools use Babel's AST representation for code introspection.
IAB Tier 2 Subcategory Distribution
Top Websites Using Babel
| Website | IAB Category | Subcategory | OpenRank |
|---|---|---|---|
| psychologytoday.com | Medical Health | Diseases and Conditions | 6.3 |
| wattpad.com | Books and Literature | Fiction | 6.25 |
| lastpass.com | Family and Relationships | Computing | 6.2 |
| technologyreview.com | Business and Finance | Industries | 6.15 |
| newsweek.com | News and Politics | International News | 6.12 |
| foodnetwork.com | Food & Drink | Cooking | 5.97 |
| herthemovie.com | Movies | Theater | 5.95 |
| criteo.com | Business and Finance | Business | 5.91 |
| liquidarchitecture.org.au | Events and Attractions | Concerts & Music Events | 5.86 |
| plushcare.com | Healthy Living | Diseases and Conditions | 5.86 |
Code Examples
babel.config.json
{
"presets": [
["@babel/preset-env", {
"targets": {
"browsers": ["> 0.25%", "not dead"]
},
"useBuiltIns": "usage",
"corejs": "3.32"
}],
["@babel/preset-react", {
"runtime": "automatic"
}],
"@babel/preset-typescript"
],
"plugins": [
["@babel/plugin-proposal-decorators", { "legacy": true }],
"@babel/plugin-transform-runtime"
]
}
JavaScript API
const babel = require("@babel/core");
// Transform code
const result = babel.transformSync(code, {
presets: ["@babel/preset-env"],
plugins: ["@babel/plugin-transform-arrow-functions"],
sourceMaps: true
});
console.log(result.code);
console.log(result.map);
// Async transformation
const asyncResult = await babel.transformAsync(code, {
filename: "source.js",
presets: ["@babel/preset-react"]
});
Custom Plugin
// babel-plugin-console-log-location.js
module.exports = function({ types: t }) {
return {
visitor: {
CallExpression(path, state) {
if (
path.node.callee.object?.name === 'console' &&
path.node.callee.property?.name === 'log'
) {
const { line, column } = path.node.loc.start;
const filename = state.filename;
const location = t.stringLiteral(
`[${filename}:${line}:${column}]`
);
path.node.arguments.unshift(location);
}
}
}
};
};
Webpack Integration
// webpack.config.js
module.exports = {
module: {
rules: [{
test: /\.(js|jsx|ts|tsx)$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
cacheDirectory: true,
cacheCompression: false
}
}
}]
}
};
Usage by Domain Popularity (Top 1M)
Usage by Domain Age
The average age of websites using Babel is 11.7 years. The average OpenRank (measure of backlink strength) is 2.36.
Ecosystem and Future
Core Packages
- @babel/core: Core transformation API
- @babel/cli: Command line interface
- @babel/preset-env: Smart preset for targets
- @babel/parser: JavaScript parser (fork of Acorn)
Popular Presets
- @babel/preset-react: React JSX transformation
- @babel/preset-typescript: TypeScript support
- @babel/preset-flow: Flow type annotations
- babel-preset-minify: Code minification
Strengths
- Largest plugin ecosystem
- Mature and battle-tested
- Excellent documentation
- Flexible configuration
Considerations
- Slower than Rust/Go alternatives
- Complex configuration for large projects
- Plugin ordering can be confusing
- Competition from SWC, esbuild
Current Status
- Still widely used and maintained
- Many frameworks migrating to faster alternatives
- Unique plugins keep it relevant
- Plugin API influences newer tools
Emerging Websites Using Babel
| Website | IAB Category | Subcategory | OpenRank |
|---|---|---|---|
| 412studentministries.org | Personal Finance | Parenting | 0 |
| lucinia.org | Video Gaming | Video Game Genres | 0 |
| diplomvrukix.com | Movies | Western Frisian | 0 |
| glitchmusic.co.uk | Home & Garden | Celebrity Homes | 0 |
| grahammiranda.com | Automotive | Skiing | 0 |
Technologies Less Frequently Used with Babel
| Technology | Co-usage Rate | Website |
|---|---|---|
| <model-viewer> | 0% | https://modelviewer.dev |
| A8.net | 0% | https://www.a8.net |
| Accessibly | 0% | https://www.onthemapmarketing.com/accessibly/ |
| AccuWeather | 0% | https://partners.accuweather.com |
| Acquia Cloud Platform CDN | 0% | https://docs.acquia.com/cloud-platform/platformcdn/ |
