Save Bookmarks

Powershell
$pathToJsonFile = "$env:localappdata\Google\Chrome\User Data\Default\Bookmarks"
 * Create a file named save-bookmarks-html.ps1
 * 1) credits: Mostly to tobibeer and Snak3d0c @ https://stackoverflow.com/questions/47345612/export-chrome-bookmarks-to-csv-file-using-powershell
 * 2) Path to chrome bookmarks

$htmlOut = 'C:\temp\ChromeBookmarks.html' $htmlHeader = @' <!DOCTYPE NETSCAPE-Bookmark-file-1>

 Bookmarks Bookmarks  '@

$htmlHeader | Out-File -FilePath $htmlOut -Force -Encoding utf8 #line59

Function Get-BookmarkFolder { [cmdletbinding] Param( [Parameter(Position=0,ValueFromPipeline=$True)] $Node )
 * 1) A nested function to enumerate bookmark folders

Process {

foreach ($child in $node.children) {  $da = [math]::Round([double]$child.date_added / 1000000) #date_added - from microseconds (Google Chrome {dates}) to seconds 'standard' epoch. $dm = [math]::Round([double]$child.date_modified / 1000000) #date_modified - from microseconds (Google Chrome {dates}) to seconds 'standard' epoch. if ($child.type -eq 'Folder') {    "    $($child.name)" | Out-File -FilePath $htmlOut -Append -Force -Encoding utf8 "       " | Out-File -FilePath $htmlOut -Append -Force -Encoding utf8 Get-BookmarkFolder $child "       " | Out-File -FilePath $htmlOut -Append -Force -Encoding utf8 }  else {       "       $($child.name)" | Out-File -FilePath $htmlOut -Append -Encoding utf8 } #else url } #foreach } #process } #end function

$data = Get-content $pathToJsonFile -Encoding UTF8 | out-string | ConvertFrom-Json $sections = $data.roots.PSObject.Properties | select -ExpandProperty name ForEach ($entry in $sections) { $data.roots.$entry | Get-BookmarkFolder } '' | Out-File -FilePath $htmlOut -Append -Force -Encoding utf8

The output is save to the c:\temp\ folder

run in powershell shell

 * run powershell and change the directory to where the script is located
 * > .\save-bookmarks-html.ps1