One search box for everything
Pages, PDFs, bookmarks, downloads, notes and clipboard history in a single query. Fuzzy and partial matching handles typos and half-remembered words, and matched text is highlighted in the result.
100% offline · Chrome extension
Browser history is a list of links you barely recognise. Digital Memory records what you actually read — pages, PDFs, downloads, notes — and makes it findable in milliseconds. It stays on your computer, because there is no server to send it to.
Chrome 116 or later · No sign-up, no card, no trial · Uninstall takes your data with it
The problem
You read something useful three weeks ago. You remember roughly what it said, roughly when, and nothing else. Browser history cannot help: it indexes addresses and titles, keeps no text, and forgets in ninety days. So you search the web again and hope to find the same page twice.
| Browser history | Cloud read-later & notes | Digital Memory | |
|---|---|---|---|
| Searches the text of pages | No | Only what you saved | Yes, automatically |
| Searches inside PDFs | No | Sometimes, on upload | Yes, locally |
| Needs you to save things first | No | Yes | No |
| Data leaves your device | Synced to your account | Yes, to their servers | Never |
| Account required | Your Google account | Yes | None |
| Works with no internet connection | Partly | No | Always |
| Export in an open format | Limited | Varies | JSON, CSV, Markdown |
Features
Twelve things it does, all of them on your machine. Every capture category can be switched off individually, or all at once.
Pages, PDFs, bookmarks, downloads, notes and clipboard history in a single query. Fuzzy and partial matching handles typos and half-remembered words, and matched text is highlighted in the result.
A timeline of today, yesterday, this week or this month, grouped by hour, website or category, with how long you actually spent. Find the afternoon, not the address.
Time on page, pages read, estimated reading time, activity by hour, top sites ranked by time, and where your attention went by category — daily, weekly, monthly or all time.
Write Markdown notes attached to the page you were reading, with live preview. Pin them, colour them, and search them alongside everything else.
Your existing bookmarks, mirrored and made searchable, with tags, favourites, sorting and filters. They are read, never modified.
Filename, source address, file type, size and date — searchable, filtered by category, with a jump straight to the file in your file manager.
Text you copy, kept with the page you copied it from, pinnable and searchable. Password, one-time-code, CVV and card-number fields are refused outright — that text is never stored.
Title, author, metadata and the text of every page, extracted locally with a bundled copy of pdf.js. Off by default — it is the one feature that reads a file, so you turn it on deliberately.
Pull text out of images and screenshots so they turn up in search too. Tesseract runs inside the extension; no image is ever uploaded to an OCR service, because none is contacted.
Development, AI, finance, education, news, shopping, travel, health and more — classified by a rule-based system you can read and change. No model, no guessing, no API call.
Quick search, open memory, new note and today’s timeline all have a
shortcut, and / focuses search anywhere in the dashboard or
side panel. The mouse is optional.
Export to JSON, CSV or Markdown, choosing exactly which categories to include. Import it back on any machine, restore from a backup, or rebuild the index from your own records.
Screenshots
Four surfaces: the dashboard, search and timeline together, insights, and the settings that keep you in control. Screens show sample data.
How it works
There is nothing to configure, connect or sign into. The useful part starts the moment you install and shows up the first time you cannot remember something.
One click from the Chrome Web Store. No account, no onboarding, no permissions dialog beyond what Chrome shows you — and every one of those permissions is explained on this page.
Pages you actually read are indexed in the background, on your device. Very short visits are discarded as pass-throughs, and anything on your blocklist is skipped entirely.
Press Ctrl Shift K, type the half-word you remember, and get the page back — with the sentence that made you keep it.
Privacy
Most privacy pages describe a setting. This one describes an absence: there is no server, no account system, no analytics and no telemetry anywhere in the extension — not switched off, but not written.
What we collect about you
Nothing.
That is the whole policy in one word. The rest is detail about what stays on your device, and how to take it with you or destroy it.
fetch, XMLHttpRequest, WebSocket,
EventSource and sendBeacon — and fails if any
turns up where it should not.
chrome://extensions, which only you can do.
chrome:// pages and the Chrome Web Store, which extensions
cannot read at all.
One honest exception
Making a PDF searchable means reading the PDF. If you switch on PDF
indexing, the extension reads PDFs you have already opened yourself and
extracts their text locally — nothing is uploaded. It ships
off, and indexing PDFs stored on your own disk additionally
needs you to enable “Allow access to file URLs” on the extension’s card in
chrome://extensions, which Chrome only lets you grant yourself.
| Permission | What it is for |
|---|---|
bookmarks |
Read your bookmarks so they become searchable. They are never modified. |
downloads |
Read download details, reveal a file in your file manager, and save your export. |
storage, unlimitedStorage |
Hold your settings and your records. Unlimited, because Chrome’s default quota would silently start discarding your memory. |
tabs, webNavigation |
Know which page you are actually looking at, and for how long — the timeline is built from this. |
sidePanel |
Provide the side panel, so your memory sits beside the page instead of replacing it. |
contextMenus |
Right-click actions on your own selection — save a note, copy to memory. |
alarms |
Periodic local housekeeping: reconcile bookmarks and downloads, run data cleanup. |
offscreen |
Parse PDFs in a page context, which a service worker cannot do. |
clipboardWrite |
Put a saved snippet back on your clipboard when you click it. |
favicon |
Show each site’s icon from Chrome’s own local cache — not from the network. |
http, https, file access |
Read the text of pages you visit so you can search by what a page said. Reading happens inside the page; the result is stored locally and sent nowhere. |
Keyboard
All of them remappable from chrome://extensions/shortcuts. On
macOS, Ctrl is ⌘.
Specifications
| Version | 0.1.0 · Manifest V3 |
|---|---|
| Requires | Google Chrome 116 or later — Windows, macOS, Linux, ChromeOS |
| Price | Free. No account, no card, no trial, no ads, no upsell. |
| Storage | IndexedDB, in your own Chrome profile, via Dexie. Never synced. |
| Search | Local inverted index with fuzzy and partial matching. Built for a sub-50 ms response across 100,000+ records. |
| Bundled libraries | pdf.js for PDFs, Tesseract.js for OCR, Chart.js for insights — all shipped in the package. |
| Network | None. No remote code, no remote assets, verified at build time. |
| Export formats | JSON, CSV, Markdown — with a per-category picker and an option to omit page text. |
| Accessibility | Keyboard-first navigation, a reduce-motion setting, and two density modes. |
Questions
Anything that reads your browsing deserves scepticism. Here is the detail behind the claims.
Yes, and it is enforced rather than promised. The build scans the service
worker and the page content script for network APIs —
fetch, XMLHttpRequest, WebSocket,
EventSource, sendBeacon — and fails if any of
them appears where it should not. No web fonts are loaded, no icons are
fetched from a CDN, and the PDF reader is bundled in the package rather
than downloaded at run time.
Indexing runs in the background, in the extension’s own worker, not on the page’s main thread. The search index is designed for a sub-50 ms response across 100,000+ records, and lists use virtual scrolling so a large memory does not cost you a slow interface.
No — not unless you explicitly allow the extension to run in incognito,
which is a switch only you can turn on from
chrome://extensions. Chrome does not let an extension grant
itself that access. Pages Chrome protects, such as chrome://
pages and the Chrome Web Store, cannot be read at all.
Export everything to JSON, CSV or Markdown at any time from Settings, and import it back on this machine or another one. You can pick which categories to include, delete any single record, or reset the whole database in one action. There is no lock-in because there is nowhere to be locked into.
No. Clipboard capture refuses password, one-time-code, CVV and card-number fields outright, so text copied from them is never stored. You can also add domains to a never-record blocklist, with wildcards, so a whole site or path is skipped entirely.
It depends on how much you browse and what you capture. Page text is the bulk of it; a few thousand indexed pages is typically tens of megabytes. Settings shows the live figure, you can set a retention period so older records are removed automatically, and export supports omitting page text for a much smaller file.
It is free, with no account, no card, no trial, no ads and no upsell. There is no server to pay for because there is no server.
It is built and tested against Google Chrome 116 and later. Most Chromium browsers — Edge, Brave, Vivaldi, Opera — can install extensions from the Chrome Web Store and should run it, but they are not part of the tested matrix, and browsers differ in their support for the side panel and offscreen APIs.
Uninstalling removes the extension’s local database with it, permanently. Nothing is retained anywhere else, because nothing was ever sent anywhere else. Export first if you want to keep your memory.
Install it once and stop losing things you have already found.
Free · No account · No telemetry · Chrome 116+