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 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 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

Join us in London for the second Polymer Summit, October 17 - 18, 2016. The summit will feature two days of talks and code labs presented by the Polymer team.

Sign up

To whet your appetite, watch videos from last year's Summit in Amsterdam.


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 at Google I/O 2016

At Google I/O 2016, we launched the brand-new Polymer App Toolbox for building Progressive Web Apps.

<app-route> gets its beta release!

The app-route element has made its beta debut - we'd love your feedback on this modular approach to routing.

Encapsulated Routing with Elements

An overview to doing distributed routing in an application, as well as an introduction to <app-route> and <app-location>.