Testing web pages in different browsers is part of my daily routine and I start with Safari, Chrome, and Firefox. It’s handy to have the same set of bookmarks always at-the-ready no matter which browser I am using at the moment. This used to be done simply with the Xmarks browser extension but after that service went away I could not find a simple replacement. With a little work you can use iCloud bookmark syncing to do this for you.
- iCloud Bookmarks
- Sign into browser accounts on Windows and Mac
- iCloud for Windows
You should already have a good backup system in place so I was going to skip mentioning this, but since there is a very good chance these steps will affect your source bookmarks in Safari it should be mentioned that you should start with a backup of your bookmarks.
iTunes was originally the digital hub for all of your content and devices. Rip CDs into iTunes and later the ability to download songs, then connect your iPod and iPhone to sync that content. Backup your devices into iTunes and sync Calendars, Contacts, and bookmarks between all of your devices. This made Safari the primary browser for managing bookmarks. Over time, these features have slowly moved to iCloud including syncing bookmarks between all of your devices, and now bookmark changes show up on all devices immediately. In iCloud settings on all devices just enable Safari and now all of your bookmarks are in sync. Hopefully this process didn’t mess up your bookmarks. If you weren’t already using this feature and your bookmarks aren’t quite right, that earlier backup is handy right about now. Like iTunes, iCloud supports Windows but with an extra feature we’ll be taking advantage of.
But when I fire up Chrome or Firefox I still don’t have my bookmarks in those browsers. For a long time I used Xmarks to sync my Safari bookmarks to Chrome and Firefox but that service went away. Replacement solutions were too clumsy, incomplete, or expensive for such a simple task. While the above initial setup remains unchanged, this is the point where I had to come up with a new solution.
Part of testing web sites in other browsers is also testing in variations of Internet Explorer on Windows. While some recommend using a tool like BrowserStack for this, I prefer to have the actual browser at my fingertips. This means I also need Windows. You could use Boot Camp but I prefer a virtualization solution. I used to use Parallels but for a long time now I’ve used VirtualBox and grab different Windows environments from modern.ie (moved). The point of all of this is to have access to Windows, even if it means finding a friend who uses Windows and setting you up with your own account on their computer to use once in a while.
Your next step is to install Chrome and Firefox on Windows, if you haven’t done so already. Then create or sign into your Chrome (Google) and Firefox accounts, and enable bookmark syncing. You may also want to make sure you’ve signed into these same browser accounts on your Mac and that they are syncing their data before proceeding. If you do this now it might help mitigate bookmark syncing headaches later on.
As an aside, I recommend only syncing bookmarks unless you really want all of your saved logins potentially synced to services like Google (yikes). Somehow, Google ended up with a large set of old saved logins even though I have been careful to not allow that. It must have been a default setting somewhere along the way in Chrome to sync Safari logins. I disabled syncing Passwords in Chrome settings and painstakingly removed most of the saved passwords. If you want to keep some passwords and have them synced in Chrome turn on Password sync before deleting the others.
Now that iCloud bookmark syncing, Windows, and browser accounts are all set up, get iCloud for Windows. Install, sign into your iCloud account, and enable syncing of Bookmarks. You may have to click Options next to Bookmarks to also sync to Chrome and Firefox. This is the extra feature not present in iCloud for Mac that makes this process work and requires us to take these extra steps. The bookmark sync works pretty quickly. You’ll probably have to fire up Windows from time to time to make sure your other Mac browsers get any bookmark changes.
After a few minutes of syncing, all of your Safari bookmarks are now synced to Chrome and Firefox. A weird journey through Windows to get there, but now it is done, and through iCloud without third-party services besides the built-in account syncing features of Chrome and Firefox. An added bonus is that your bookmarks are also synced to Internet Explorer (not yet to Edge).
But wait, there’s more. Remember that backup warning at the beginning? If your bookmarks aren’t quite as happy as I made it sound like, you might be interested to hear that once I was done, instead of knowing that Safari/iCloud had my most recent bookmarks, it found an old set from when Xmarks stopped working and synced the old list back to iCloud and then back to Safari. It’s great that syncing is working but this was not quite what I had in mind. By the time it had made its way back to Firefox on my Mac it was a complete mess with lots of old duplicates and now all browsers are perfectly in sync with a giant mess based on the old bookmarks. Maybe if I had used the recommendation above to set up the Chrome and Firefox account syncing on Windows and Mac before adding iCloud for Windows this might have been avoided. The last step for me was to simply restore Safari’s Bookmarks from a backup.
Unfortunately, you cannot just restore ~/Library/Safari/Bookmarks.plist from a backup like Time Machine. Each time I tried it would get replaced with whatever mess iCloud had, which seems like an iCloud bug. A simple solution is to delete your bookmarks in Safari which should clear them in iCloud, then Import your bookmarks backup. You can even import Bookmarks.plist. You may have to edit your bookmarks to move them from an Imported folder. iCloud should now pick up the changes and sync them across all browsers.
For me, it seemed iCloud got confused and would not pick up the newly imported bookmarks in Safari. Here is a rough outline for trying to fix this iCloud issue:
- Turn off Safari in iCloud on all devices. Choose to delete data on your device if prompted (you have a backup, right?). This includes iCloud for Windows: click Apply and it will prompt to disable or delete the browser extensions which you must do.
- Delete bookmarks on all devices. You have a backup, right? The above should have deleted from iPhone and iPad; yes on my iPhone but not on my iPad. How about Chrome elsewhere like on iPhone? Wait a bit to make sure all browsers have picked up the sync for deleting bookmarks.
- On your Mac only, turn on Safari in iCloud. This should flush all iCloud bookmarks. Wait a bit to make sure it is complete.
- Restore Safari bookmarks. Wait a bit to make sure iCloud has updated and hasn’t decided to erase your bookmarks.
- Turn on Safari/Bookmarks in iCloud on all devices. This should now sync the proper list everywhere. It took a very long time for all of my browsers to finally pick up the correct list so you may need to be patient.
This is also a good article that has other information and screen shots you might find helpful:
Update: 1 Month In
I try to avoid Windows as much as possible and I’ve been busy with other things lately, but today I wanted to check that iCloud was syncing bookmarks over there after a bit of time. Nope, whatever Chrome for Windows had for bookmarks it synced over and replaced all of my Safari bookmarks with a randomly sorted old set, just like before, then this got propagated to all browsers. I tried deleting all Safari bookmarks which propagated to iPhone and iPad right away but eventually the bad old set came back. This time I deleted all bookmarks from Chrome for Windows then Safari and waited a bit. Then with a no bookmarks, I bookmarked something random in Safari, my primary browser, and waited for this change to sync everywhere then waited some more. Everything is looking great. Then I tried restoring my bookmarks directly from Time Machine but sure enough they were all overwritten again with the single test bookmark, just like before. Next was to import the restored Bookmarks.plist and move its bookmarks out of its new import folder. The first time they were overwritten by the single test bookmark but the second time stuck. Then I watched it sync this change out across all browsers. iPhone and iPad were immediate and I noticed that Firefox on Windows was pretty quick but Chrome is very slow to update. Now tweaking a couple bookmarks in Safari is properly syncing everywhere. So if you have odd behavior like this maybe try deleting your bookmarks everywhere including Chrome for Windows then import again from a backup.