Home Start Get started Build an element 1. Get set up 2. Add local DOM 3. Data binding & properties 4. React to input 5. Theming with custom properties Build an app 1. Get set up 2. Create a new page 3. Add some elements 4. Deploy Polymer Feature overview Quick tour Define elements Register an element Declare properties Instance methods Behaviors Local DOM & styling Local DOM Styling Events Handle and fire events Gesture events Data system Data system concepts Work with object and array data Observers and computed properties Data binding Helper elements Tools Tools overview Polymer CLI Document your elements Test your elements Optimize for production Publish an element Advanced tools Services What's new Release notes 1.0 Migration guide About Polymer 1.0 Resources Community Browser compatibility API Reference Polymer.Base array-selector custom-style dom-bind dom-if dom-repeat dom-template Polymer.Templatizer Global settings 2.0 Preview About Polymer 2.0 Upgrade guide App Toolbox What's in the box? Using the Toolbox App templates Responsive app layout Routing Localization App storage Service worker Serve your app Case study Shop Elements News
Polymer logo

#UseThePlatform to build a better web

The Polymer Project helps you deliver amazing user experiences by unlocking the full potential of the web platform.

Use the Polymer library to make the most of Web Components, a powerful new platform feature for extending HTML and componentizing your apps.

Use the Polymer App Toolbox to build cutting-edge Progressive Web Apps that load quickly, respond instantly and work from anywhere.

Polymer Summit 2016

Polymer Summit 2016 is done and dusted! Missed it, or want to replay your favorite talks? You can find all the videos here!

Watch all Summit site Codelabs

Polymer library

Polymer is a lightweight library that helps you take full advantage of Web Components.

With Web Components, you can create reusable custom elements that interoperate seamlessly with the browser’s built-in elements, or break your app up into right-sized components, making your code cleaner and less expensive to maintain.

Polymer sprinkles a bit of sugar over the standard Web Components APIs, making it easier for you to get great results.

About the Library

Polymer App Toolbox

Polymer App Toolbox helps you build and deliver cutting-edge Progressive Web Apps with minimal overhead and payload, by leveraging powerful web platform features like Web Components, Service Worker and HTTP/2.

The Toolbox provides a component-based architecture, responsive layouts, a modular router, localization support, turnkey support for local storage and offline caching, and efficient delivery of unbundled app resources. Adopt these features individually, or use them together to build a full-featured Progressive Web App.

About the Toolbox
illustration of an abstract arrow

Built for speed

Because they let the platform do the heavy lifting, elements built with the Polymer library and apps built with the App Toolbox are blazing fast.

illustration of a computer

For today and beyond

Polymer makes the most of the web platform by using the latest APIs. Polyfills provide support on evergreen browsers for APIs that aren't universal yet.

illustration of bolts

Fully interoperable

Polymer-powered elements are based on standard Web Components APIs, so they work seamlessly with the browser's built-in elements and other Web Components.

Use elements from the catalog

  <!-- Polyfill Web Components support for older browsers -->
  <script src="components/webcomponentsjs/webcomponents-lite.min.js"></script>

  <!-- Import element -->
  <link rel="import" href="components/google-map/google-map.html">

  <!-- Use element -->
  <google-map latitude="37.790" longitude="-122.390"></google-map>

An element built with Polymer looks and works just like any other HTML element. Simply find an element you’d like to use in your app, import it with an HTML import, and then add the tag to your page.

Browse elements

Create your own elements

  <dom-module id="contact-card">
      <iron-icon icon="star" hidden$="{{!starred}}"></iron-icon>
        is: 'contact-card',
        properties: {
          starred: Boolean

  <contact-card starred>
    <img src="profile.jpg" alt="Eric's photo">
    <span>Eric Bidelman</span>

The Polymer library makes it easy to create your own powerful elements. Give your element some markup and properties, and then use it on a site. Polymer provides useful features like templating and data binding to reduce the amount of boilerplate you need to write.

Build an element

Build Progressive Web Apps

  <iron-pages role="main" selected="[[page]]" attr-for-selected="name" selected-attribute="visible">
    <!-- home view -->
    <shop-home name="home" categories="[[categories]]"></shop-home>

    <!-- list view of items in a category -->
    <shop-list name="list" route="[[subroute]]" offline="[[offline]]"></shop-list>

    <!-- detail view of one item -->
    <shop-detail name="detail" route="[[subroute]]" offline="[[offline]]"></shop-detail>

    <!-- cart view -->
    <shop-cart name="cart" cart="[[cart]]" total="[[total]]"></shop-cart>

    <!-- checkout view -->

Use the Polymer App Toolbox to build super-powered Progressive Web Apps. Try the Shop demo app to experience a Progressive Web App in action.

Try the demo Build an app

Browser Compatibility

The Polymer library and Polymer App Toolbox work in all major browsers (Chrome, Firefox, IE, Edge, Safari, and Opera).
chrome logo firefox logo internet explorer logo edge logo safari logo opera logo

Latest news

Polymer Summit Livestream 2016

Tune into the Polymer Summit 2016 livestream.

Get Ready for the Polymer Summit 2016

We're ready for Polymer Summit 2016, are you? Here are the latest event details.

Please Welcome Polymer 1.7

Polymer 1.7 provides forward compatibility features, plus a few bug fixes.

Polymer at Google I/O 2016

In case you missed Google I/O or just want to relive the best bits in streaming HD, we've written a recap of Polymer goings-on and collected all of the Polymer-related sessions in one place. Enjoy!

Watch all I/O 2016 recap