My Windows got corrupted and I had to reinstall. I had not synchronised Google Chrome, so I cannot get my previous bookmarks.
I have the previous bookmark file (which is in JSON format, not HTML) but cannot import it to my new Chrome installation. I have tried copying the bookmark file of previous installation and overwriting the new one, but even after that only newly bookmarked items are shown.
My question is as follows: can I import a JSON bookmarks file into Google Chrome?
7 Answers
Following procedure works:
- Turn off synchronization (Chrome menu > Signed in as > Disconnect your Google Account (do not forget to keep Chrome data saved on the computer)
- Close Chrome
- Replace Bookmark file in Chrome's User_Data folder with your own version
- Open Chrome
- Export your bookmarks as HTML (Chrome menu > Bookmarks > Bookmarks manager > Organize > Export bookmarks)
You end up with your Bookmark file converted to HTML. Then you can turn on synchronization (Chrome menu > Sign in to Chrome) and import your bookmarks from HTML file.
If you do not need to merge your old bookmarks with current bookmarks synchronized in your Google account, it is perfectly sufficient to do steps 1. to 4. and then just sign in to Chrome.
2I was unable to make Chrome and Firefox restore my bookmarks from the Bookmarks or Bookmarks.bak json files.
But I found this really helpful online tool to convert those json files to an HTML file that you can then just import via the top-right corner in the chrome://bookmarks/ screen:
I know it's too late for answer but maybe it's help someone who has same problem
Instead of copying bookmarks file to Default folder copy it to ChromeDefaultData too.
Both folders are located here
C:\Users\<Your Name>\AppData\Local\Google\Chrome\User Data
Remember first close all of your chrome tabs!
Is the JSON Bookmark backup file from Firefox or earlier versions of Chrome?
Firefox has the ability to Backup/Restore Bookmarks in JSON format, I am not sure about Chrome as I don's use it much.
If it is a Firefox file or if Chrome's JSON files are compatible with Firefox's JSON restore (which I am not sure), you can install Firefox temporarily to import JSON, and then export it back to HTML format.
Much easier would be to find, if there is already a Chrome extension that can achieve this (which I'm sure will already be available).
1It seems like Chrome* stores a folder on C:\Users\<user_name>\AppData\Local\Google\Chrome\User Data\ for each Person logged (which you can see on Menu > Settings > People). So there might be a folder called:
C:\Users\<user_name>\AppData\Local\Google\Chrome\User Data\Profile 1\
Try copying your Backup file into that folder (after closing Chrome, as mahdi azarm pointed out). That worked for me, but it might depend on which Chrome version you're using.
* At least the version I'm using, which is 56.0.2924.87. If someone knows which versions have this functionality, please feel free to edit my answer.
chrome can only import bookmarks in html format
to convert the Bookmarks file (in json format) to html, we can use
the imported bookmarks will appear at Bookmarks Bar / Imported
function Bookmark(raw) { this.tree = JSON.parse(raw); this.html = ''; this.count = 0; this.first = true;
}
function chromeTime2TimeT(time) { return Math.floor((time - 11644473600000000) / 1000000);
}
Bookmark.prototype.walk = function(node) { if (node.type === 'folder') { this.html += '<DT><H3 ADD_DATE="' + chromeTime2TimeT(node.date_added) + '" LAST_MODIFIED="' + chromeTime2TimeT(node.date_modified) + '"'; if (this.first) { this.html += ' PERSONAL_TOOLBAR_FOLDER="true"'; this.first = false; } this.html += '>' + node.name + '</H3>\n'; this.html += '<DL><p>\n' node.children.forEach(this.walk.bind(this)); this.html += '</DL><p>\n'; } else { // node.type == 'url' this.html += '<DT><A HREF="' + node.url + '" ADD_DATE="' + chromeTime2TimeT(node.date_added) + '">' + node.name + '</A>\n'; this.count++; }
}
Bookmark.prototype.parse = function() { this.html = '<!DOCTYPE NETSCAPE-Bookmark-file-1><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"><TITLE>Bookmarks</TITLE><H1>Bookmarks</H1>\n'; this.html += '<DL><p>\n'; var roots = this.tree.roots; this.walk(roots.bookmark_bar); if (roots.other.children.length > 0) this.walk(roots.other); if (roots.synced.children.length > 0) this.walk(roots.synced); this.html += '<style>dt, dl { padding-left: 12px; }</style>\n';
} var bookmark = new Bookmark(reader.result); bookmark.parse();for firefox, there is a similar tool at
This worked on MAC:
- Exit Chrome completely. Kill any running Chrome process from the terminal.
- From terminal, go to
~/Library/Application Support/Google/Chrome - Find the folder under which Bookmarks files are present. For example:
~/Library/Application Support/Google/Chrome $ find . -name Bookmarks -print
./default/Bookmarks
./Profile 3/Bookmarks
./Profile 2/Bookmarks
./Guest Profile/Bookmarks- Find out the correct bookmark file you're looking for, and copy it to the default folder:
cp "Profile 2/Bookmarks" default/- Restart Chrome.