Chrome has a built-in bookmark manager, but it only exports your bookmarks as an HTML file. If you've ever tried to parse that HTML or import it into another tool, you know it's a mess.
I needed a clean JSON export — something I could back up, version control, or feed into a script. Couldn't find a simple extension that did just that without asking for a ton of permissions or requiring an account. So I built one.
What it does
Click the extension icon → get a bookmarks.json file with your entire bookmark tree. That's it.
No popup, no settings, no account. Works offline. The whole extension is about 5 KB.
Permissions
Only two:
bookmarks — to read your bookmark tree
downloads — to trigger the file save dialog
Nothing else. No tabs, no history, no "read all data on all websites."
The code
The core logic is tiny:
chrome.action.onClicked.addListener(exportBookmarks);
async function exportBookmarks() {
const bookmarks = await chrome.bookmarks.getTree();
const blob = new Blob([JSON.stringify(bookmarks, null, 2)], { type: 'application/json' });
const url = URL.createObjectURL(blob);
chrome.downloads.download({
url,
filename: 'bookmarks.json',
saveAs: true
});
}
That's the essence of it. Uses Manifest V3, the chrome.bookmarks API to get the tree, and chrome.downloads to save the file.
When it's useful
Backup — before a browser reset or OS reinstall
Migration — moving from Chrome to Firefox, Brave, or another browser
Automation — feeding your bookmarks into a script or database
Sharing — sending your curated links to someone else
Archiving — periodic snapshots of your saved links
Try it
Chrome Web Store
GitHub
Top comments (0)