---
layout: docs
title: Polyfill
description: How to use the Polyfill.
permalink: /docs/usage/polyfill/
package: babel-polyfill
---

<p class="lead">
  Babel includes a polyfill that includes a custom
  <a href="https://github.com/facebook/regenerator/blob/master/runtime.js">regenerator runtime</a>
  and <a href="https://github.com/zloirock/core-js">core.js</a>.
</p>

This will emulate a full ES6 environment. This polyfill is automatically loaded
when using `babel-node`.

## Installation

```sh
$ npm install babel-polyfill
```

## Usage in Node / Browserify / Webpack

To include the polyfill you need to require it at the top of the **entry point**
to your application.

```js
require("babel-polyfill");
```

If you are using ES6's `import` syntax in your application's **entry point**, you
should instead import the polyfill at the top of the **entry point** to ensure the
polyfills are loaded first:
```javascript
import "babel-polyfill";
```

## Usage in Browser

Available from the `dist/polyfill.js` file within a `babel-polyfill` npm release.
This needs to be included **before** all your compiled Babel code. You can either
prepend it to your compiled code or include it in a `<script>`
before it.

**NOTE:** Do not `require` this via browserify etc, use `babel-polyfill`.

---
layout: docs
title: Polyfill
description: How to use the Polyfill.
permalink: /docs/usage/polyfill/
package: babel-polyfill
---

<p class="lead">
  Babel includes a polyfill that includes a custom
  <a href="https://github.com/facebook/regenerator/blob/master/runtime.js">regenerator runtime</a>
  and <a href="https://github.com/zloirock/core-js">core.js</a>.
</p>

This will emulate a full ES6 environment. This polyfill is automatically loaded
when using `babel-node`.

## Installation

```sh
$ npm install babel-polyfill
```

## Usage in Node / Browserify / Webpack

To include the polyfill you need to require it at the top of the **entry point**
to your application.

```js
require("babel-polyfill");
```

If you are using ES6's `import` syntax in your application's **entry point**, you
should instead import the polyfill at the top of the **entry point** to ensure the
polyfills are loaded first:

```javascript
import "babel-polyfill";
```

## Usage in Browser

Available from the `dist/polyfill.js` file within a `babel-polyfill` npm release.
This needs to be included **before** all your compiled Babel code. You can either
prepend it to your compiled code or include it in a `<script>`
before it.

**NOTE:** Do not `require` this via browserify etc, use `babel-polyfill`.

Fix rendering bug on babeljs.io website
Fix rendering bug on babeljs.io website

Currently https://babeljs.io/docs/usage/polyfill/ says 'ensure the polyfills are loaded first: javascript import "babel-polyfill";' in one line.