Automate Edge-Favorites Backup as HTML-File

Frequent Contributor

We need to automatically Backup the Users Edge-Favorites as File (prefered HTML-Export/Import-Format) when doing an automated User-Data-Backup.


The Favorites are stored in JSON-Format in %APPDATALOCAL%\Microsoft\Edge Beta\User Data\Default\Bookmarks


There is a nice functionality in Edge edge://favorites/ to export all Favorites as HTML File. Exactly this Export as HTML-File I like to trigger (e.g. by a Backup-Script) when doing a Userdata-Backup of the Machine.


Is there a possibility to do this, e.g. like calling msedge.exe with an argument like "--export-Bookmarks-to-HTML=C:\BackupData\BookmarksBackup.html"

13 Replies

Hi @Gunnar Haslinger, are you trying to do this export / import as part of a system restore, or some other scenario where you need to have a domain policy or other automated solution?  The favorites should import automatically if you have enabled sync for the user, and the user has added favorites in the past.  I would like to better understand the context around why you are trying to export and import favorites automatically.  Thanks - Elliot

@Elliot Kirk the Export/Import is not running as a system-restore or system-process, it is an Automated (daily) User-Backup running as automated Process executed in User-Context (typically before User-LogOff). But LocalAppData-Folder is not covered in the User-Backup (AppData\Roaming would be) and LocalAppData is way too big to include. Just the Bookmarks should be included.


Current Solution with old EdgeHTML is the Tool EdgeBackup which exactly does this - it can be executed to export the EdgeHTML Bookmarks to an HTML-File and put this HTML-File in the UserDataBackup of the machine.  


If the User needs to restore the Bookmarks (e.g. because of moving to a new Computer) this can be done by the User manually. The HTML-File can be restored in any Browser (EdgeHTML, EdgeChromium, Firefox) we use.

Syncing with cloud is not an option, the Networks the Machines are connected to are air-gapped (no direct Ontenet-Access). Browser is used for Intranet-AccessOnly. And even if there would be Internet-Access, our Policy says users must not use these Cloud-Services.

best response confirmed by Gunnar Haslinger (Frequent Contributor)

As there is no Solution provided by Microsoft, I created a Script (as a workaround). I published it here:

@Gunnar Haslinger Many thanks, just tried your script and it works perfrctly and it will save me a great deal of messing around as I am testing Edge-Chrome and as we know favorites arent handled without using microsoft profile cloud sync - I posted another mention of this.


Thanks for providing this script, helped me a lot to safe the bookmarks of our clients.

@Gunnar Haslinger 

is this script designed for Edge Legacy (below version 77)?


No, it is for Edge based on Chromium.
Edge Legacy is out of support now. But there is a nice tool named "EdgeManage" and "EdgeExport" from Emmet-Gray which can used for scripted export of EdgeLegacy Bookmarks. You find it here:
Vous êtes mon sauveur !
The script needs to be updated (not hard to do) to work with the latest versions of Edge.

@Had_Robinson where did you find something in the script which needs an Update? Just tested with Microsoft Edge 96.0.1054.26 beta and I couldn't spot any problems.

@Gunnar Haslinger 

Here is the version I'm running: Version 96.0.1054.29 (Official build) (64-bit)

line 5 in the Script is this:  $JSON_File_Path = "$env:localappdata\Microsoft\Edge Beta\User Data\Default\Bookmarks"

On my systems (Win 8 & 10) Bookmarks is stored here:

C:\Users\***\AppData\Local\Microsoft\Edge\User Data\Default

The Edge I'm using is not a Beta, so e.g., line 5 should be: $JSON_File_Path = "$env:localappdata\Microsoft\Edge\User Data\Default\Bookmarks"

Maybe I missed something?

It is a puzzle why MS did not automate backups of Favorites....


Of course you have to Edit Source- and Destination-Path to your personal requirements. For Edge-prod-Environment the Path is not "Edge Beta" but "Edge". Most of us IT-Pro's are running Beta in addition to Prod/Stable to check out troubles before they hit our users - so I preferred to put in "Edge Beta". But nothing changed since I developed this small script, everything works unchanged like in the first version.
I figured as much - thank you for the script and lightning fast reply. Good job and thank you for posting the script!