Create a Chrome bookmark html file to import list of URLs

I recently switched RSS providers and I could only extract my saved posts as a list of URLs. So I thought I’d add these to a bookmark folder in Chrome. However, Chrome bookmark import only accepts a specifically formatted .html file.

So if you have a file with all your urls, name this file ‘url.txt’ and run this script to create a .html file that you can import in Chrome (hat-tip to GeoffreyPlitt).

# Run this script on a file named urls.txt with all your URLs and pipe the output to an HTML file.
# Example: ./ > bookmarks.html

echo "<!DOCTYPE NETSCAPE-Bookmark-file-1>"
echo '<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">'
echo '<TITLE>Bookmarks</TITLE>'
echo '<H1>Bookmarks</H1>'
echo '<DL><p>'
  cat urls.txt |
  while read L; do
    echo -n '    <DT><A HREF="';
        echo ''"$L"'">'"$L"'</A>';
echo "</DL><p>"

Also published on Medium.

10 thoughts on “Create a Chrome bookmark html file to import list of URLs”

    1. Can’t thank you enough! I’ve been searching for this kind of tool for months. Works exactly as I wanted. Thanks man

    2. Brilliant: there’s no information online about how to format a Bookmarks file and I was tearing my hair out trying every naming combination etc. I have to Export, edit and import long bibliographies with links attached and this will make it very easy. Many thanks

  1. I am really thankfull to you Jan van den Berg and Aaron Atkins. Now I can easily export lots of Youtube URLs to raindrop and see if some video was deleted

    1. You would need an identifier / name, the script can’t guess this for you :).

      Because you only have a list of URLs you could have a folder path based on domains. But I am not sure how useful this would be (how many URLs from the same domain have you got bookmarked?)

      Another way would be to add a second ‘column’ in your URL list where you specify the desired folder path. And rebuild the script to use this column as as folder path.

Leave a Reply

Your email address will not be published.