Firefox: Migrating a Profile

I decided to use Firefox ESR (currently 78) instead of the faster moving Firefox release favoured by Archlinux (currently 81).

Upon first starting Firefox ESR, it does not accept the default profile but creates a new one instead, and I cannot force it to use my old profile with all its bookmarks, addon configurations etc. (with the profile manager).

So, on to some manual work. I have done this before. Soon I find this article which doesn't seem to have changed at all since last time. It does not take into account Extensions and user customisation.

This is how I amended it:

  • Create a new profile with the profile manager, but don't start FF. Exit the profile manager.

  • Navigate to your mozilla/firefox directory, identify the profile folder, and rename it to e.g. <xxxxxxxx.myprofile>-blueprint.

  • It should contain only one file: times.json.

  • Open your original/old profile folder and the blueprint side-by-side.

  • Copy over the following files (and folders with all their content):

    extensions/                 handlers.json
    storage/                    key4.db
    cert9.db                    permissions.sqlite
    content-prefs.sqlite        places.sqlite
    extension-preferences.json  prefs.js
    extension-settings.json     search.json.mozlz4
    extensions.json
    formhistory.sqlite

    The result should look something like this:
    profile blueprint

  • The article also mentions favicons.sqlite and cookies.sqlite which I consciously chose not to copy to the new profile.

  • The article further mentions logins.json and persdict.dat which I don't have.

  • Additionally, you might want to copy the chrome/ folder and user.js if you have them.

Now, copy (not move) the <xxxxxxxx.myprofile>-blueprint folder to the original new profile folder name (i.e. remove the -blueprint suffix when copying) and try starting FF with the newly created profile. That way, if it doesn't work on the first try, you can just discard the messed-up profile and amend your blueprint.

It worked on (almost) the first try for me; I had to enable the installed addons, but their configuration data was there, as well as all bookmarks and other (UI) configuration.