localStorage-powered

A notepad that saves directly in your browser

Every note you type is written to your browser's localStorage API — a sandboxed storage area on your device. No server receives it. Open DevTools and inspect the key yourself — the storage mechanism is completely transparent.

What localStorage actually is

localStorage is a key-value store built into every major browser (Chrome, Firefox, Safari, Edge). It is sandboxed per origin — meaning only pages from notepad.renderlog.in can read or write to this notepad's keys. No other tab, no other website, and no server can access it.

The exact storage key

Notes are stored under the key np_state_v1. Open DevTools → Application → Local Storage → your domain and you will see it. The value is a JSON string containing your tab titles, content, and cursor positions. Nothing opaque, nothing encrypted — you can read it directly.

5 MB quota per origin

Browsers allocate roughly 5 MB of localStorage per origin. For plain text notes, 5 MB stores approximately 5 million characters — around 700,000 words. Unless you are pasting entire codebases, you are unlikely to hit this limit. If you do, the browser throws a QuotaExceededError and we show you a warning.

Auto-save on every keystroke

A debounced write fires 500 ms after you stop typing. On every browser close, page refresh, or tab switch, your content is already safe. There is no “unsaved changes” state — either the write completed or the browser was already saving from the previous debounce cycle.

Zero network activity for note content

Open the Network tab in DevTools while typing. You will not see a single request carrying your note text. The only outbound requests are the initial asset fetches when the page loads for the first time — CSS, JS, and fonts. After that, the page can function with no network.

What clears localStorage

Browser "Clear Site Data", clearing cookies/storage in settings, or running localStorage.clear() in the console will permanently remove your notes. We cannot restore them — there is no server backup. If a note matters long-term, use the Export button to save a .txt or .md file.

How to inspect your notes in DevTools

You do not have to trust that your notes stay local — you can prove it:

  1. Open this page and type a few words.
  2. Press F12 (or right-click → Inspect) to open DevTools.
  3. Go to Application (Chrome) or Storage (Firefox) tab.
  4. Expand Local Storage → click your domain.
  5. Find the key np_state_v1 — your notes are in the value column, as plain JSON.
  6. Now go to the Network tab. Clear it, then type more words. Filter by XHR/Fetch. No requests appear. Nothing was sent to a server.

localStorage vs sessionStorage vs IndexedDB

Browsers provide three main client-side storage APIs. localStorage persists across sessions (survives tab closes and browser restarts). sessionStorage resets when the tab is closed. IndexedDB is a full key-value database for structured data and files. This notepad uses localStorage because it is synchronous, simple, and exactly sized for plain-text notes — no overhead, no async complexity, no setup.

Why not IndexedDB?

IndexedDB is asynchronous and better suited for large binary data or structured queries. For plain text notes under a few megabytes, localStorage is faster to read and write, requires no schema migrations, and is universally supported. The trade-off is the 5 MB cap, which matters only if you store very large amounts of text.

Frequently asked

Is localStorage the same as cookies?
No. Cookies are sent to the server with every HTTP request — that is their purpose. localStorage is read and written only by JavaScript in the browser. It is never transmitted. The two use different storage APIs and have very different security models.
Will notes survive if I update Chrome or my OS?
Yes. Browser updates preserve localStorage. OS updates also preserve it. The only events that clear it are explicit storage wipes: clearing site data from browser settings, using the Clear Storage button in DevTools, or uninstalling the browser entirely.
Can two browser tabs see each other's localStorage?
Yes — two tabs on the same origin share the same localStorage. If you open this notepad in two tabs, both tabs point to the same <code>np_state_v1</code> key. Changes in one tab fire a <code>storage</code> event that the other tab can listen to. This notepad listens for that event and reloads state, so your notes stay consistent across tabs.
Does localStorage work in private/incognito mode?
Yes, but with a critical difference: when you close an incognito window, the browser discards that window's localStorage. Notes you type in incognito mode are not persisted after the session ends. If you need notes to survive, open the notepad in a regular (non-incognito) tab.
How do I verify no data leaves my browser?
Open DevTools (F12) → Network tab → check "Preserve log". Type in the notepad. Filter XHR/Fetch requests. You will see no requests containing your note text. To go further, inspect Application → Local Storage → your domain and confirm the content matches exactly what you typed.
What is the actual 5 MB limit in characters?
localStorage stores strings as UTF-16. Each ASCII character is 2 bytes, so 5 MB holds roughly 2.5 million characters — about 400,000 average English words. For a practical reference: Tolstoy's War and Peace is about 580,000 words. You can fit most of it. JSON overhead from tab metadata reduces this slightly.

Open the notepad and inspect it yourself

Type a note, open DevTools, and verify your data stays on your device.

Open the notepad