You cannot just concatenate two JSON files. You must open both, copy the children array from one bookmark_bar into the other, ensuring you don't duplicate folder IDs (though Chrome regenerates IDs on startup).
Go now. Back up that Bookmarks file. You’ll thank yourself when your SSD dies next Tuesday. Have a Chrome bookmark horror story or a clever script? Drop it in the comments.
data['roots']['bookmark_bar'] = clean_node(data['roots']['bookmark_bar']) where chrome bookmarks stored
with open('Bookmarks_clean', 'w') as f: json.dump(data, f, indent=2) Your bookmarks are just a text file. That is both terrifying (because they can corrupt) and liberating (because you have full control). Don’t rely solely on Chrome Sync—it’s a convenience, not a backup.
import json import re with open('Bookmarks', 'r', encoding='utf-8') as f: data = json.load(f) def clean_node(node): if 'children' in node: node['children'] = [clean_node(c) for c in node['children'] if not (c.get('type') == 'url' and 'pinterest.com' in c.get('url', ''))] return node You cannot just concatenate two JSON files
You have 1,247 bookmarks. Some are recipes you’ll never cook, some are "important work docs," and a few lead to 404 errors from 2016. But where, physically, do these little blue links live?
This is Chrome’s automatic safety net. Every few launches (or after significant changes), Chrome copies the live Bookmarks file to Bookmarks.bak . If the main file gets corrupted (power outage during a write), Chrome will silently restore from the .bak file. Back up that Bookmarks file
If your hard drive crashes or you switch operating systems, knowing exactly where Chrome stores its bookmarks can be the difference between digital amnesia and a clean recovery. Spoiler: They aren’t floating in the cloud (unless you turn sync on).