Access to localStorage
Latest commit 948ee40 Nov 1, 2016 @tedium-bot tedium-bot Update travis config

Build status

Demo and API docs


Element access to Web Storage API (window.localStorage).

Keeps value property in sync with localStorage.

Value is saved as json by default.


ls-sample will automatically save changes to its value.

<dom-module id="ls-sample">
  <iron-localstorage name="my-app-storage"

    is: 'ls-sample',
    properties: {
      cartoon: {
        type: Object
    // initializes default if nothing has been stored
    initializeDefaultCartoon: function() {
      this.cartoon = {
        name: "Mickey",
        hasEars: true
    // use path set api to propagate changes to localstorage
    makeModifications: function() {
      this.set('', "Minions");
      this.set('cartoon.hasEars', false);

Tech notes:

  • value.* is observed, and saved on modifications. You must use path change notification methods such as set() to modify value for changes to be observed.

  • Set auto-save-disabled to prevent automatic saving.

  • Value is saved as JSON by default.

  • To delete a key, set value to null

Element listens to StorageAPI storage event, and will reload upon receiving it.

Warning: do not bind value to sub-properties until Polymer bug 1550 is resolved. Local storage will be blown away. <iron-localstorage value="{{}}" will cause data loss.