A cross-browser JavaScript library for key/value storage with a unified API and plugin system.
Store.js is a JavaScript library that provides a unified API for client-side storage across all browsers. It solves the problem of inconsistent storage implementations by automatically selecting the best available storage backend (localStorage, sessionStorage, cookies, etc.) and providing a simple interface for storing and retrieving data.
Web developers who need reliable client-side storage that works consistently across all browsers, including legacy browsers like IE6 and older mobile browsers.
Developers choose Store.js because it handles all the cross-browser complexities automatically, has been battle-tested on tens of thousands of websites since 2010, and offers extensibility through plugins while maintaining a tiny footprint.
Cross-browser storage for all use cases, used across the web.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Tested on IE6+, iOS 8+, Android 4+, and other legacy browsers, ensuring compatibility across the entire web ecosystem, as listed in the 'Supported Browsers' section.
Provides consistent get, set, remove, clearAll, and each methods for all storage types, simplifying client-side storage management, as shown in the 'Basic Usage' API.
Offers plugins for expiration, events, defaults, and more, allowing easy addition of common functionality without custom code, evidenced by the 'List of all Plugins'.
Automatically selects the best available storage backend (e.g., localStorage, cookies) and falls back gracefully, ensuring storage works in all environments, described in the 'Storages' section.
Default builds include support for obsolete browsers like IE6 and Firefox 3+, adding unnecessary kilobytes for modern-only projects, as mentioned in the 'Builds' section where lighter alternatives exist.
Core extra features like expiration and events are not built-in; developers must manually add and manage plugins, increasing setup complexity, as described in the 'Using Plugins' section.
While Store.js handles fallbacks, it cannot overcome browser-imposed limits like Safari Private mode's 4KB cookie storage, requiring developers to plan around constraints per the 'Storages limits' table.