We're looking for a person or people to help audit MDN to find places we could speed up. Is this you or someone you know? Check out the RFP: https://mzl.la/2IHcMiE

The key() method of the Storage interface, when passed a number n, returns the name of the nth key in the storage. The order of keys is user-agent defined, so you should not rely on it.


var aKeyName = storage.key(key);


An integer representing the number of the key you want to get the name of. This is a zero-based index.

Return value

A DOMString containing the name of the key.


The following function iterates over the local storage keys:

function forEachKey(callback) {
  for (var i = 0; i < localStorage.length; i++) {

The following function iterates over the local storage keys and gets the value set for each key:

for(var i =0; i < localStorage.length; i++){

Note: For a real world example, see our Web Storage Demo.


Specification Status Comment
HTML Living Standard
The definition of 'Storage.key' in that specification.
Living Standard  

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
localStorage 4 (Yes) 3.5 8 10.50 4
sessionStorage 5 ? 2 8 10.50 4
Feature Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 2.1 (Yes) ? 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

 Last updated by: fscholz,