These libraries allow you to persist data across browser sessions. Usually they use HTML5 Local Storage and some other tech as fallback.

See Bower search for Store for a list of client-side storage utilities wrapped as a Bower component and which will remain more up-to-date than this list.

  • Rhaboo - Makes JS objects persistent directly. Just replace occurences of a.b=c with a.write('b',c). Nested objects and array operations supported. Fast because not just stringify/parse. Only relies on localStorage.

  • AmplifyJS - supports IE 5+, Firefox 2+, Safari 4+, Chrome, Opera 10.5+, iPhone 2+, Android 2+ and provides a consistent API to handle storage cross-browser.

  • Store.js - supports IE6+, Firefox 2+, Safari 4+, Chrome 4+, Opera 10.5+ and has a consistent, simple API for handling storage on different browsers.

  • JayData - Official site: http://jaydata.org - jayData is a standards-based, cross-platform Javascript library and a set of practices to access and manipulate data from various online and offline sources.

  • Data.js - Data Manipulation and Graph Persistence for Node.js and the Browser.

  • Kizzy

  • PersistJS

  • jStorage

  • Lawnchair - Sorta like a couch except smaller and outside, also, a client side JSON document store. Perfect for webkit mobile apps that need a lightweight, simple and elegant persistence solution.

  • Artemia - Artemia is a clientside JSON document store like Lawnchair (in the way of CouchDb). It's very very (and very) inspired by Lawnchair (he copy many aspects, normal, i love Lawnchair) but has some specific features (like modules).

  • TaffyDB

  • meelo-store

  • Gazel

  • PouchDB - Portable implementation of CouchDB

  • BankersBox - A redis-like wrapper for javascript data storage using localStorage as the default persistent data-store.

  • lostorage.js

  • sql.js - SQLite realisation on JS

In addition you might want to check out filer. It wraps HTML5 Filesystem API. See also this article.