The setItem() method of the Storage interface, when passed a key name and value, will add that key to the storage, or update that key's value if it already exists.


storage.setItem(keyName, keyValue);


A DOMString containing the name of the key you want to create/update.
A DOMString containing the value you want to give the key you are creating/updating.


No return value.


setItem() may throw an exception if the storage is full. Particularly, in Mobile Safari (since iOS 5) it always throws when the user enters private mode (Safari sets quota to 0 bytes in private mode, contrary to other browsers, who allow storage in private mode, using separate data containers).
Hence the developers should make sure to always catch the possible exceptions from setItem().


The following function creates three data items inside local storage.

function populateStorage() {
  localStorage.setItem('bgcolor', 'red');
  localStorage.setItem('font', 'Helvetica');
  localStorage.setItem('image', 'myCat.png');

Note: To see this used within a real world example, see our Web Storage Demo.


Specification Status Comment
Web Storage (Second edition)
The definition of 'setItem()' in that specification.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
localStorage 4 3.5 8 10.50 4
sessionStorage 5 2 8 10.50 4
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 2.1 ? 8 11 iOS 3.2

All browsers have varying capacity levels for both localStorage and sessionStorage. Here is a detailed rundown of all the storage capacities for various browsers.

Note: since iOS 5.1, Safari Mobile stores localStorage data in the cache folder, which is subject to occasional clean up, at the behest of the OS, typically if space is short.

See also

Using the Web Storage API

Document Tags and Contributors

 Contributors to this page: Aurora49, jakub-g, teoli, scunliffe, chrisdavidmills
 Last updated by: Aurora49,