Visible Scope Across Three Storage Areas
This tool provides a tabbed interface to access three standard storage mechanisms built into web browsers: LocalStorage, SessionStorage, and Cookies.
Switching between tabs lists the stored items accessible from the current page context. However, browser security boundaries strictly dictate what can be viewed and modified.
For LocalStorage, read and write access is restricted entirely to the same origin (the specific scheme, host, and port tuple) where this tool runs; storage saved by other websites cannot be accessed.
For SessionStorage, only data tied to the current browser tab session is visible, without cross-tab management capabilities. For Cookies, the tool lists only cookies accessible via the document.cookie property within the current document context.
Cookies configured with the HttpOnly attribute cannot be read by JavaScript and do not appear in the table. Furthermore, other browser databases such as IndexedDB and Cache Storage are not supported.
This tool operates strictly within standard accessible boundaries without circumventing browser isolation.
List View and Estimated Capacity
Selecting each tab renders a table displaying keys, values, and estimated data sizes stored within that storage area. In the LocalStorage and SessionStorage tabs, estimated usage is calculated by summing the UTF-16 code unit lengths of keys and values (key.length + value.length) multiplied by 2 to approximate byte size.
The progress bar plots this against a conventional 5 MiB (5,242,880 bytes) reference benchmark, serving as an arbitrary guideline rather than actual disk consumption or an enforced browser quota limit.
To preserve table layout, long values are truncated with an ellipsis while remaining viewable on hover. In the Cookies tab, percent-encoded values are decoded for readability; if malformed percent-encoding sequences prevent decoding, the raw stored string is displayed.
Tab contents can also be exported to a downloaded JSON file regardless of active search filters.
Key Search, Editing, and Addition
When storage contains numerous entries, the search field at the top filters items quickly. This search performs case-insensitive partial matching against both keys and values, updating table rows in real time as characters are typed.
New data can be added through the form, which trims leading and trailing whitespace from the key before saving it to the active storage tab (notifications are displayed if storage access, quotas, or CRUD operations fail).
Existing items can be updated via the inline edit panel in each row, which modifies the value while keeping the key name fixed. When modifying cookies, newly entered values are encoded according to standard cookie rules without re-encoding existing key names, reflecting updated content in the table upon saving.
Clicking the copy button awaits successful resolution of the Clipboard API Promise before displaying feedback, and notifies the user if clipboard access is rejected.
Impact of Deletion and Backups
Removing stored items can be performed per row or across the entire active tab. Clicking the trash icon deletes an individual entry immediately.
Clearing all items requires confirmation, as it affects the entire storage scope: localStorage is removed origin-wide, and sessionStorage is cleared across the entire active tab, deleting data set by other tools on the same origin without undo or recovery.
For cookies, clearing attempts to expire visible document.cookie entries by setting path=/, which does not guarantee removal of cookies configured with distinct paths or domain attributes.
A JSON export option downloads all entries in the selected tab regardless of search filters. Although operations execute through standard browser APIs and refresh the display list, complete deletion of all origin cookies cannot be guaranteed.
Overwrite Rules for JSON Import and Export
JSON files exported from this tool or created manually can be imported back into the active storage tab. Selecting a file loads its content asynchronously, applying changes only for the latest generation and currently active tab.
The imported file must not exceed 2 MiB, 2,000,000 code units, or 10,000 keys, and must contain a valid top-level JSON object; arrays, primitive values, or malformed syntax produce parsing errors and halt the import.
Importing does not wipe or replace existing storage. If a key in the file matches an existing key, its value is overwritten, while new keys are appended alongside existing items.
Keys present in storage but absent from the imported file are retained. If an imported value contains a nested object or array, the tool serializes it into a string using JSON.stringify rather than preserving a structured object.
For localStorage and sessionStorage, previous values are saved prior to writing to attempt a best-effort rollback upon failure; however, because Web Storage lacks native transactions, complete restoration is not guaranteed and a partial modification warning is issued if rollback fails.
When importing into the Cookies tab, operations are non-atomic using fixed root attributes (path=/), and the tool inspects visible values post-write to warn of partial imports, without guaranteeing restoration or removal across all paths, domains, or HttpOnly flags.
Cookie Attributes and Operational Constraints
Cookie management involves operational behaviors distinct from LocalStorage and SessionStorage. Adding or editing cookies applies fixed attribute defaults: path=/, max-age=31536000 (approximately one year), and SameSite=Lax.
Flags such as Secure (restricting transmission to HTTPS) and HttpOnly (blocking JavaScript access) are not attached to items created or updated through this tool.
Cookie deletion is achieved by writing the cookie with max-age=0 using path=/. However, if the original cookie was issued with a specific path or subdomain, setting path=/ will not match the original cookie scope, causing deletion attempts to fail.
While this tool manages accessible cookies under uniform rules, it cannot alter or delete cookies governed by complex server-assigned attributes.
Furthermore, cookies stored in the browser may be transmitted in subsequent matching HTTP requests to the server, meaning storage operations are not completely isolated from network activity.