Skip to content
Published July 15, 2019

I’m proud to announce my cross-browser bookmark syncing extension called syncmarx is finally open source on GitHub!

syncmarx logoExtension Source Code:

Backend API:

I’ve received a ton of positive feedback over the past year which drove me to add quite a few features since its initial release – including the ability to sync to Google Drive and Box. Sadly with no sign of XMarks ever returning, syncmarx has become a go-to replacement for many, including myself. Now that the extension has stabilized significantly, I decided it’s time to contribute to the open web and make the source code public. I encourage anyone interested in the project to log issues, submit pull-requests, or provide feedback.

I should add that I definitely think services like syncmarx that let you you “bring-your-own-backend”, so to speak, could become a major player in the future of tech. So here’s to a long life ahead for bookmarks synchronization everywhere!

If you’re interested in grabbing the extension yourself, it’s available for the desktop versions of Chrome and Firefox:



  1. Mario Mario

    Great work! Are there any plans to support Safari too?

    • Greg McLeod Greg McLeod

      Thanks! Currently Safari doesn’t support the Web Extension API, so Safari would need its own section of the codebase. I haven’t prioritized this yet but it’s certainly something that could happen.

  2. Andre Gompel Andre Gompel


    1) as of syncmarx 0.7.0 on Fedora 30, the “push” (from either G-Chrome or Firefox) works well, so a following “pull” allows proper hower limited (clumsy) sync of bookmarks.
    Thhis is very good.
    By contrast I could mostly not properl synchronize between theses 2 browsers.

    2) Would you consider a “push” to a database (Either Berkeley, or PostGRESQL, perhaps Maria DB) ?
    This would be tremendously useful, because of the flexibility of existing tools in the data base. Proper use would of course being able to do a “pull” from this data base… as a first step. Ideally bookmarks from all the browsers could dynamically use this database rather than the quite inadequate (for this purpose) HTML…

    Thanks for a reply.

    • Greg McLeod Greg McLeod

      Thanks for the report

      1) I’ve never tested Fedora so there could be some kind of inconsistency with how that OS organizes its bookmark hierarchy. I am making a note to investigate.

      2) I have not considered pushing to a DB, however I can definitely look into it. I am not sure if there are sufficient APIs in the browsers to do this but I will investigate. The closest thing on my list to do would be WebDAV support which may allow you to indirectly accomplish that.

  3. Phil Phil

    Hi, installed on chrome but have no glue how it should work.
    thank you

    • Greg McLeod Greg McLeod

      Hi there, sorry for the lack of instructions. The idea behind the extension is that you want your bookmarks to be exactly the same between 2 or more browsers.

      The simplest set up is to do the following:

      1) Think of your preferred file-host between the following: Google Drive, Dropbox, or Box (these are all that are supported so far)
      2) Install the extension to Chrome or Firefox on the browser that contains the bookmarks you want to be the “master set” that all your other browsers/computers will share
      3) Select your file-host provider from the Drop-down in the extension’s user interface and click “Get Token”
      4) Follow the onscreen instructions until you get to the point where a “token” is provided that you must copy
      5) Paste the token into the authorization text box in the extension and click the “Authorize” button

      Then you just need to create your first “profile”:

      1) Click the “profile” tab in the extension
      2) Type any profile name into the text box there (e.g. “MyFirstProfile”) and click the “Create” button
      3) Click “Force Push” to forcefully sync your full set of bookmarks
      4) Install the extension on all the other browsers you want those bookmarks to sync to, but select “MyFirstProfile” from the dropdown rather than creating new profile

      Hope that helps!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.