Browser Storage Test
Find out how much data websites can store in this browser. The test reads the storage quota, current usage and persistence status from the StorageManager API, then measures the real capacity of localStorage and sessionStorage, IndexedDB and OPFS write and read speed, and cookie limits. All test data is deleted afterwards.
Last updated:
Fills both stores until the browser throws a quota error, then removes the test data.
Writes random data in 1 MB records, reads it back, then deletes the test database.
Writes a test file of the same size with the File System API, reads it back and deletes it.
Finds the largest cookie the browser accepts. The count test sets up to 300 small cookies.
How to use the Browser Storage Test
- Open the page: the quota, usage, persistence status and supported storage APIs appear immediately.
- Click Test localStorage to fill localStorage and sessionStorage until the browser refuses, then see the exact capacity.
- Choose a size and click Test IndexedDB to measure how fast this browser writes and reads data to disk.
- Run the OPFS and cookie tests for the file system API and cookie size limits.
- Click Request persistent storage if you want this site's data protected from automatic cleanup, then Copy report to save the results.
Browser storage limits at a glance
| Storage type | Typical limit per site | Good for |
|---|---|---|
| localStorage | About 5 million characters (5 MB) | Small settings and preferences |
| sessionStorage | About 5 MB, cleared when the tab closes | Temporary state of one tab |
| Cookies | About 4 KB each, roughly 150 to 180 per site | Sessions and data the server must see |
| IndexedDB, Cache API, OPFS | Shared quota: a share of the disk (see below) | Large data, offline apps, files, media |
IndexedDB, the Cache API, the Origin Private File System and service worker caches all count against one quota per site, which is what navigator.storage.estimate() reports:
- Chrome, Edge and other Chromium browsers: a site may use up to about 60% of the total disk size.
- Firefox: in best-effort mode the smaller of 10% of the disk or 10 GiB per site group; with persistent storage up to 50% of the disk.
- Safari 17 and newer: around 60% of the disk for sites opened in the browser, less for apps that embed web views. Without persistence, Safari can delete script-written data of sites you have not used for 7 days.
How the tests measure capacity and speed
The localStorage test writes 1-million-character strings under test keys until the browser throws a QuotaExceededError, then halves the chunk size down to 16 characters to find the limit precisely. Capacity = characters written + characters already stored by this site. JavaScript strings are UTF-16, so each character can take 2 bytes.
The IndexedDB and OPFS tests write random (incompressible) 1 MB blocks, so compression cannot inflate the result. Speed = bytes ÷ elapsed time, measured until the browser confirms each transaction or file write is complete. Reads may be faster than your disk because recently written data is often still in memory.
The cookie test uses a binary search for the longest value the browser keeps. Large cookies are sent with every request to the site, which is why browsers keep them small.
When storage fills up
When a site exceeds its quota, writes fail with a QuotaExceededError and web apps may stop saving work. When the whole disk runs low, browsers evict best-effort data of the least recently used sites first. Request persistent storage for web apps whose data matters to you (offline documents, notes, games), and back up anything important: clearing browsing data in settings deletes persistent storage too.
Frequently asked questions
How much data can a website store in my browser?
It depends on the browser and your free disk space. Chrome and Edge let one site use up to about 60% of the total disk size. Firefox allows the smaller of 10% of the disk or 10 GiB per site in best-effort mode, and up to 50% of the disk when storage is persistent. Safari 17 and newer allows around 60% of the disk for browser apps. localStorage is separate and much smaller, about 5 MB per site.
Why is the localStorage limit only about 5 MB?
localStorage is a simple synchronous key-value store kept in memory and written to disk, so browsers cap it at roughly 5 million characters per site to keep pages fast. JavaScript strings are UTF-16, so 5 million characters can mean up to 10 MB on disk. For larger data, websites should use IndexedDB or the Origin Private File System, which use the much larger quota.
What is persistent storage?
By default, site data is best-effort: the browser may delete it when the disk is nearly full, starting with the least recently used sites. If a site is granted persistent storage, its data is only removed when you clear it yourself. Chrome grants it automatically to sites you use often or have bookmarked or installed; Firefox asks you; Safari grants it to web apps added to the Home Screen.
Does the quota shown equal my free disk space?
No. The quota from navigator.storage.estimate() is the maximum this site may use, calculated by the browser from the disk size. Browsers may also round the usage and add padding for some data (for example opaque cross-origin responses in the Cache API) for privacy, so the numbers are estimates.
Will this test delete my data?
No. The tests only write their own keys, database, file and cookies with a test prefix, and delete them when finished. Other localStorage keys, databases and files of this site are left untouched. The optional cookie count test can push out older cookies of this site, which is why it is off by default.
Why is storage so small in a private or incognito window?
Private windows keep data in memory or a temporary profile, so browsers usually give them a much smaller quota, and everything is deleted when the window closes. Some browsers also disable IndexedDB or the file system API in private mode.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.