Polymer 1.0+ works in the latest two versions of all major browsers: Safari 7+, IE 11+, and the evergreen Chrome, Firefox, and Edge.
With the polyfills, Polymer works in these browsers:
|Chrome||Firefox||IE 11+/Edge||Safari 7+||Chrome (Android)||Safari (iOS 7.1)|
- Older versions of the Android Browser may run into some issues - please file an issue if you run into a problem on this browser. Chrome for Android is supported.
What polyfills should I use?
Polymer 2.x has been developed alongside and tested with a new suite of v1-spec compatible polyfills
for custom elements and shadow DOM. You can test Polymer 2.0 by using the latest 1.0 version of
webcomponentsjs, which is included as a bower dependency to Polymer 2.x. (
versions prior to 1.0 support the older, v0 specifications for custom elements and shadow DOM.)
There are two main ways to load the polyfills:
webcomponents-lite.jsincludes all of the polyfills necessary to run on any of the supported browsers.
webcomponents-loader.jsperforms a runtime feature-detection and loads just the required polyfills.
Compiling ES6 to ES5
The Polymer CLI and
polymer-build library support compiling ES6 to ES5 at build time. In
polymer serve and
polymer test commands compile at runtime when required by the
For best performance, you should serve ES6 code to browsers that support it, and only serve ES5 code to browsers that don't support ES6.
If you need to statically host your code and serve a single version to all browsers, compile all code to ES5, and include the native shim, a lightweight polyfill that lets compiled ES5 work on browsers that support native custom elements.
Other features used by Polymer or the elements
IE 10 has flaky Mutation Observer support, and is also largely no longer supported by Microsoft. Much of Polymer will still work, but you may run into some bugs here and there. "Official" support is for IE 11/Edge.
Progress of native browser support
As of 2016-05, there has been broad cross-browser agreement around the v1 versions of the Custom Elements and Shadow DOM APIs, with support in Chrome, Opera, and Safari Tech Preview, and implementations underway in other browsers.
See caniuse.com for more information on native browser support for web components.
Chrome natively implements both the v0 APIs (used by Polymer 1.x) and the v1 APIs (used by Polymer 2.x).
Safari Tech Preview includes working implementations of Shadow DOM v1 and Custom Elements v1.
Firefox currently supports some of the v0 web component APIs behind a flag. Polymer does not work correctly with this flag enabled, because of an incompatibility with the web components polyfills.