Browser Support: Polyfills
Browser Support: Polyfills
Angular supports most recent browsers. This includes the following specific versions:
Nougat (7.0)
latest latest 14 11 10 10 11
Marshmallow (6.0)
Lollipop
13 10 9 9
(5.0, 5.1)
KitKat
9 8 8
(4.4)
Jelly Bean
7 7
(4.1, 4.2, 4.3)
Angular's continuous integration process runs unit tests of the framework on all of these browsers for every pull
request, using SauceLabs and Browserstack.
Polyfills
Angular is built on the latest standards of the web platform. Targeting such a wide range of browsers is
challenging because they do not support all features of modern browsers.
You compensate by loading polyfill scripts ("polyfills") for the browsers that you must support. The table below
identifies most of the polyfills you might need.
The suggested polyfills are the ones that run full Angular applications. You may need additional polyfills to
support features not covered by this list. Note that polyfills cannot magically transform an old, slow browser into
a modern, fast one.
Enabling polyfills
Angular CLI users enable polyfills through the src/polyfills.ts file that the CLI created with your
project.
This file incorporates the mandatory and many of the optional polyfills as JavaScript import statements.
The npm packages for the mandatory polyfills (such as zone.js ) were installed automatically for you when
you created your project and their corresponding import statements are ready to go. You probably won't
touch these.
But if you need an optional polyfill, you'll have to install its npm package with npm or yarn . For example, if
you need the web animations polyfill, you could install it with either of the following commands:
Then open the polyfills.ts file and un-comment the corresponding import statement as in the
following example:
If you can't find the polyfill you want in polyfills.ts , add it yourself, following the same pattern:
{@a polyfill-libs}
Mandatory polyfills
These are the polyfills required to run an Angular application on each supported browser:
IE9 [ES6
classList](guide/browser-support#classlist)
If you use the following deprecated i18n [Intl API] All but Chrome, Firefox, Edge, IE11
pipes: [date] (guide/browser- and Safari 10
(api/common/DeprecatedDatePipe), support#intl)
[currency]
(api/common/DeprecatedCurrencyPipe),
[decimal]
(api/common/DeprecatedDecimalPipe)
and [percent]
(api/common/DeprecatedPercentPipe)
Below are the polyfills which are used to test the framework itself. They are a good starting point for an
application.
* Figures are for minified and gzipped code, computed with the closure compiler.
{@a non-cli}