How History Works: Bookmark Maestro's 30-Day Recycle Bin for Chrome Bookmarks
Chrome deletes bookmarks for good. Bookmark Maestro now keeps every deletion for 30 days — made here, in Chrome's own manager, by another extension, or by sync — and can put it back where it was, and undo edits, moves, sorts and imports too. This is exactly how it works, when it records, what it can restore, and what it deliberately cannot.
Chrome has no recycle bin for bookmarks. Delete a folder and it is gone: no trash to open, a one-step undo that dies with the tab, and a sync that copies the deletion to every device within seconds. Recovering deleted Chrome bookmarks is a guide to the workarounds, and none of them is good.
Bookmark Maestro's History view is the recycle bin Chrome doesn't have. It keeps every deletion for 30 days — whoever made it — and puts it back where it came from. It also undoes the changes Bookmark Maestro itself makes: edits, moves between folders, sorts, imports. It is free, it runs entirely on your device, and this post explains exactly how, because a safety net you don't understand is one you can't trust.
What is kept, and when
There are two different questions here, and they have two different answers.
Deletions are kept the instant they happen, from anywhere. When a bookmark or folder is removed, Chrome tells every installed extension about it through an event — and that event carries the removed item with everything inside it. Bookmark Maestro's background worker listens for that event and writes what it hears into a local store in the same instant. It does not matter who did the deleting:
- Bookmark Maestro's own Delete, Clean All (duplicates, empty folders) or Undo import
- Chrome's own bookmark manager, the bookmarks bar, the star menu
- Another extension
- Sync delivering a deletion made on another device
That last one matters most. The largest group of "I lost my bookmarks" stories is a deletion that happened on one machine and quietly spread to the others. On each of those machines, Bookmark Maestro sees the removal arrive and keeps it.
Edits, moves, sorts and imports are recorded at the moment Bookmark Maestro makes them. When you rename a bookmark in the manager, batch-edit fifty titles, move a selection into another folder, sort a folder, or import a file, Bookmark Maestro writes down what it is about to change — the old value and the new — as it makes the change. Changes made outside Bookmark Maestro are not recorded: Chrome's "something changed" event doesn't say what the old value was, so there is nothing truthful to write down. A rename in chrome://bookmarks is not on the History page; a delete there is.
Here is the full list, because "from anywhere" is true of deletions and of nothing else. In Bookmark Maestro means the manager, the side panel or the popup; in Chrome means chrome://bookmarks, the bookmarks bar, the star menu, another extension, or a change that sync brought from another device.
| What you did | Done in Bookmark Maestro | Done in Chrome | On the History page as |
|---|---|---|---|
| Deleted a bookmark or folder | ✓ kept, named by what did it | ✓ kept, "Outside Bookmark Maestro" | Put back |
| Clean All — duplicates, empty folders | ✓ kept | — | Put back |
| Renamed, or edited a URL | ✓ recorded, with the old value | ✗ not recorded — Chrome's event carries no old value | Undo (Bookmark Maestro's only) |
| Batch Edit, Clean URLs | ✓ recorded | — | Undo |
| Moved into another folder | ✓ recorded (Move dialog, side-panel drag) | ✗ not recorded | Undo (Bookmark Maestro's only) |
| Reordered within one folder | ✗ | ✗ | — |
| Sorted a folder | ✓ recorded, the old order | ✗ (Chrome's "Sort by name" is not recorded) | Undo (Bookmark Maestro's only) |
| Created a bookmark or folder | ✗ | ✗ | — (delete it) |
| Imported a file | ✓ recorded, as one import | ✗ (Import in chrome://bookmarks is not recorded) | Undo (Bookmark Maestro's only) |
| A deletion synced from another device | — | ✓ kept, "Outside Bookmark Maestro" | Put back |
| A deletion that reached this profile while Chrome was closed, or while the extension was updating | — | ✓ found at the next launch and listed as while Chrome was closed · found at launch — the time shown is when it was found, not when it happened | Put back |
| An edit or move synced from another device | — | ✗ not recorded | — |
| Anything while the History switch was off, before the extension was installed, or while it was disabled | ✗ | ✗ | — |
The short version: a deletion is caught wherever it happens; everything else is caught only when Bookmark Maestro does it.
That is the whole timeline of a deletion. Day 0 is the deletion itself; the History page lists it from that second; you can put it back any time in the next 30 days; on day 30 it expires — the whole deletion at once, never half a folder.
Where it is stored
Everything History keeps lives in the extension's own local database (IndexedDB) inside your Chrome profile — the same place Bookmark Maestro keeps link-test results. Nothing is sent anywhere. There is no account behind it and no server; the History page reads a database that exists only on the machine you are looking at.
Two consequences follow, and both are stated on the page rather than hidden:
- It is not a backup. It lives in the same profile as the bookmarks. Deleting the profile, resetting Chrome or reinstalling takes History with it, the same way it takes your bookmarks. Chrome's own export (
chrome://bookmarks→ ⋮ → Export bookmarks) is still the backup you own; here is how to make one. - It keeps deleted things for up to 30 days. A bookmark you delete stays on disk, inside the extension's store, for up to 30 more days. That is what makes putting it back possible, and it is yours to control: Forget drops one deletion early, Forget all empties the whole history, and the switch at the top of the page — Keep a 30-day history — turns keeping off altogether. Off, nothing new is kept; what is already kept stays until it expires or you forget it. (History is one of a very few things this extension stores at all; the privacy policy lists all of them.)
Up to, because 30 days is a ceiling on age and there is a second one on size — either can come first, and the size one exists because a month is not a fixed amount of history. One bulk edit across a 20,000-bookmark library writes 20,000 records in a few seconds.
So the store keeps two separate budgets: 20 MB for deleted bookmarks and folders, and 8 MB for recorded edits, moves, sorts and imports. They are never spent against each other, which is the whole point of splitting them: a single Clean URLs over 18,000 addresses can only ever push out older edits, never a deletion. A library of 20,000 bookmarks serializes to about 4.4 MB, so the deletion budget is several whole libraries. Inside a budget, the oldest line goes first and goes whole — never half a folder — and the newest is never dropped, so an operation bigger than its own budget is kept rather than made to evict itself.
Two sources, one list
Look at the From column on the History page and you will see two labels: Bookmark Maestro and Outside Bookmark Maestro. How the extension tells them apart is the one piece of internal design worth understanding, because it explains what you see.
Two things write into History, and they never talk to each other:
- The background worker writes one row for every removal Chrome reports — every one, whoever made it. This is the only thing that ever writes a deletion down, and Chrome wakes it for that event even when no page is open. For the windows in which nobody can be woken — Chrome closed while another device deletes something, the extension updating, the worker crashed — it keeps a light copy of the tree's shape and, at its next start after such a window, compares the copy with the tree: whatever the copy has and the tree lacks is written down from the copy, and the line says so (while Chrome was closed · found at launch).
- When one of Bookmark Maestro's own dialogs is about to delete something, it first writes a claim: "I am about to remove these ids, and here is why" — Delete, Clean All duplicates, Undo import. Then it deletes. The claim is written first on purpose: a claim with no deletion behind it is a harmless empty note, while a deletion with no claim would be listed for thirty days under the wrong name.
When you open the History page, the two are joined by id. A removal whose id some claim names becomes a Bookmark Maestro line carrying the verb that claim gave it: Deleted 43 bookmarks · 2 folders, Cleaned 12 duplicate copies, Undid an import. Every removal nobody claimed is grouped — anything within two seconds of the last one is the same gesture, which is how a multi-select delete in Chrome's manager becomes one line rather than nine — and labelled Outside Bookmark Maestro.
Why "outside" and not "in Chrome"? Because the extension genuinely cannot tell Chrome's manager from another extension from a deletion that sync brought in from your laptop. The label says exactly what is known and no more.
What a line shows
Each line is one gesture: one delete, one Clean All, one Batch Edit, one sort. It prints when it happened, what it did in one sentence, the first thing it touched ("Work and 3 more"), where it came from, and how many days it has left. Expand a deletion and you get every bookmark and folder it took, in their original order, folders with a count of what was inside. Expand an edit and you get each change as "old title" → "new title"; a move, from "Reading" to "Work".
A sort has nothing to expand — its one change is the order of the folder — and an undo has no items of its own: the line it undid, just above or below it, has them.
Putting a deletion back
Press Put back and Bookmark Maestro rebuilds what was deleted: every bookmark and folder, in the original order, in the folder it came from, at the position it held there. Here is what "rebuild" means, precisely, because two details surprise people.
The bookmarks are new bookmarks. Chrome offers no way to un-delete a bookmark; it offers a way to create one. So Put back creates them again from the copy it kept — same title, same address, same structure — and Chrome hands each one a new internal id and today's date. You will not notice the id. You may notice the date: a bookmark put back is "added" today in Chrome's own manager. Bookmark Maestro compensates where it can — the link-test result that belonged to the old bookmark is re-filed under the new one, so nothing put back reads Not tested — but the date is Chrome's to set.
The position is reconstructed in reverse. When you delete three neighbouring bookmarks one after another, Chrome reports each one's position at the moment it went — after the earlier deletions had already shifted the rest up. Replaying the removals last-to-first, each at the position it reported, lands every one of them back where it was; replaying them first-to-last would put the second one a place early. That is the order Put back uses, whichever order the deleting was done in.
Then there is the question of where, and that is a small decision tree:
- If the folder it came from is still there, it goes home, at its old position (clamped to the folder's current size if the folder shrank).
- If that folder was itself deleted and put back since, Bookmark Maestro knows the folder's new id and sends the bookmark into it — home, under a new number.
- If that folder is part of the same deletion — you deleted a bookmark, then the folder it was in — the bookmark waits for its folder to be rebuilt first, then goes into it. One deletion comes back as one tree.
- Otherwise it goes into a single folder named Restored, under Other Bookmarks, created once and reused. The receipt says so.
And on a profile signed in to Chrome without sync there is one more question under that last one, because such a profile has two bookmark stores and therefore two Other Bookmarks. The Restored folder is made on the side the bookmark came from — the account's copies go back to the account, the on-this-device copies stay on the device, and the two never mix. The interesting case is when that side is no longer here at all: the device's roots are hidden by Chrome once they are empty, and the account's leave the profile entirely when you sign out. Then the put-back lands on the side that is here, and says which, and why: in "Restored" under your Google Account's Other Bookmarks — the device side is gone. A bookmark that quietly changed stores is the one outcome a person cannot see coming, so it is never quiet.
A large folder — thousands of bookmarks — comes back in a second or two, with a progress line on its row (Putting back… 1,234 / 5,001), and the page stays usable meanwhile. If a create fails part-way (it should not, but disks and profiles have bad days), what was built stays, the line reads Partly put back · 40 of 43 items, and the receipt says how many did not make it — never a silent half.
Put back works once. Pressed, the line reads Put back ✓ and the button is gone — on this device and, if the page is open elsewhere, there too. A second press would not undo anything; it would build a second copy of everything. The restore itself is listed as a line of its own.
Undoing an edit, a move, a sort, an import
The same button says Undo on the other kinds of line, and each kind checks one thing before it writes, because an undo must never overwrite something you did after it:
| Undo of… | Does | Only if | Otherwise |
|---|---|---|---|
| Deletion | Rebuilds the subtree | — | Once; a second press would build a second copy |
| Edit | Writes the old title / url back | The bookmark still reads what the edit wrote | Changed again since → left alone, counted |
| Move | Moves it back to its old folder and index | Still where the move left it, and the old folder exists | Otherwise left where it is, counted |
| Sort | Walks the folder back to the old order | Only over the children still there | Newcomers stay at the end |
| Import | Deletes what the import added | — | Becomes a deletion line: can itself be put back |
The receipts count what was skipped and say why: Put back 37 titles · 3 changed since, left alone. An undone import is the interesting one — undoing it deletes what the import added, and that deletion is kept like any other, so if you undo an import by mistake you can put the import back.
The receipt
You will meet History most often without opening it. Every dialog that deletes, edits in bulk, moves or sorts ends in a small receipt at the top of the window — Deleted 43 bookmarks · 2 folders · Put back — for eight seconds. Its button is the same Put back as the History page's; press it and the deletion is undone before you have finished regretting it. Miss the eight seconds and nothing is lost: the line is on the History page for 30 days.
And the sentence under every deletion's question changed. It used to say This action cannot be undone. It says You can put them back from History for up to 30 days — or, if you have switched History off, that there is no putting these back.
What it cannot do
Being precise about the edges is the point of this post, so:
- Nothing from before it was installed, or from while the switch was off. History keeps what it saw — and for the first month it says so at the top of the page: Keeping since ⟨date⟩ — nothing from before then is here.
- No edits made outside Bookmark Maestro. Chrome's change notification carries no old value; a rename or a URL edit in
chrome://bookmarksis not recorded. Deletions from anywhere are. - Not the exact moment, for a deletion found at a start. A deletion that reached this profile while Chrome was closed is listed when the extension next starts and finds it, with that time on the row and a note saying so. It happened somewhere in the window before; nothing on this machine was there to see when. And a bookmark moved elsewhere in that same window is left where it now is, not rebuilt inside the folder it left.
- Not a whole bookmark store disappearing. Signing out of Chrome, or turning the Bookmarks sync toggle on, removes an entire permanent folder with everything under it — and Chrome reports that the same way it reports a deletion. History deliberately ignores it. Kept, it would be a thousand-row line whose Put back, with the account side now gone, would rebuild your account's whole library onto this device. That is a change of storage, not a deletion, and the same rule holds for the start-up check: a side appearing or vanishing whole is a boundary, never a batch of deletes.
- Not a backup. Same profile, same fate. Export a file now and then.
- Not the original ids or dates. A bookmark put back is a fresh bookmark with today's date.
- Not twice. Once a line is put back, it stays put back.
FAQ
Q: Does Bookmark Maestro's History upload my deleted bookmarks anywhere? A: No. History is a local database inside your Chrome profile, read and written only by the extension on that machine. Nothing leaves the device; there is no account or server behind it. Forget, Forget all and the History switch are the three ways to remove what it holds.
Q: Will it catch a deletion that sync brought from another device? A: Yes. Sync applies the deletion on each device through the same mechanism as a local delete, and Bookmark Maestro's background worker sees it arrive and keeps it. It is listed as "Outside Bookmark Maestro", because the extension cannot tell a synced deletion from one made in Chrome's own manager.
Q: Why doesn't History list a rename I made in Chrome's bookmark manager? A: Chrome tells extensions that a bookmark changed, but not what it changed from, so there is no true "before" to record. Bookmark Maestro records edits it makes itself because it knows both values. Deletions are different: Chrome hands over the whole deleted item, so those are kept from anywhere.
Q: How long do deleted bookmarks stay in History? A: Up to 30 days from the deletion, then the whole deletion expires at once — never half a folder. "Up to", because there is also a size ceiling: 20 MB of deleted bookmarks and folders (a 20,000-bookmark library is about 4.4 MB, so that is several whole libraries and crossing it is rare), plus a separate 8 MB for recorded edits, moves, sorts and imports. The two budgets are spent separately, so a big bulk edit can never expire a deletion early.
Q: Why can I put a deletion back only once? A: Because Put back creates the bookmarks again from a kept copy rather than un-deleting them, a second press would create a second copy of everything. The line reads "Put back ✓" afterwards, and the restore is listed as a line of its own.
Q: Is History a replacement for backing up my bookmarks? A: No. It lives in the same Chrome profile as your bookmarks and disappears with it. Chrome's export to an HTML file is still the backup you own; History is the undo for the day-to-day mistakes that a backup is too slow to fix.