This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

How can I export bookmark data with dates to a table or csv file? (On a Mac)

  • 4 پاسخ
  • 1 has this problem
  • 1 view
  • آخرین پاسخ توسّط styler1

more options

I'm trying to find a way to put my bookmark library into a table/excel so I can do date-accessed analysis. I can see the date columns in the library view in firefox, but need to be able to manipulate so I see only sites accessed in 2019. I don't know java, SQL, or any other coding/database language, other than Excel lookup formulas. Any tools/suggestions welcome.

I'm trying to find a way to put my bookmark library into a table/excel so I can do date-accessed analysis. I can see the date columns in the library view in firefox, but need to be able to manipulate so I see only sites accessed in 2019. I don't know java, SQL, or any other coding/database language, other than Excel lookup formulas. Any tools/suggestions welcome.

All Replies (4)

more options

It would take some work to accomplish this.

but you can do an experiment using a few bookmarks.

firstly, the criteria of "seeing the sites of 2019" must be accomplished via "history" and not "bookmark" library

next, look thru the history and select a few sites you had visited in 2019.

next add a tag, 2019, to each of the bookmarks. .

the 2019 tag will actually create a category and folder whereas all bookmarks that you tag with 2019 will be copied into that 2019 folder. Look for the folder in the tag section of history.

Once the folder has all the bookmarks you want/need, then open that 2019 folder and you should find a list that you created. Do a select all, then a copy and then a paste into a simple text file like a notepad. And from note pad, they can be accessed by a larger app.

While you can achieve the desire results, the results may not be ideally desired.

more options

Do you need the visit date/time or is it enough to have a list of visited webpages sorted by visit date ?

For Windows there are Nirsoft utilities that can be used, but I don't think there is an easy solution for Mac. You can simply add the most recent visit column to the Bookmarks Manager (Library) and type a colon in the search bar to get one long list. You can sort by "most recent visit" column and select the desired range range and copy the selection to the clipboard. If you paste the clipboard content in an HTML capable editor (flavor: text/html) then you get <A href> (i.e. URL and title) type links, but this doesn't include the visit date. To get visit info you would have to use the JSON data on the clipboard (flavor: text/x-moz-place) and parse this object data into a more readable format. This includes all available data.

See this thread on how to use the Browser Console to convert text/x-moz-place to text/unicode Browser Console. Note that you can only copy individual bookmarks or history items to the clipboard when you need JSON data, so you need to use the search bar to get a long list (i.e. you lose folder info).


var flavors = ["text/unicode","text/html","text/x-moz-place"];
var flavor = flavors[2]; // input:[2] = text/x-moz-place
var trans = Cc["@mozilla.org/widget/transferable;1"].createInstance(Ci.nsITransferable);
trans.init(null);
trans.addDataFlavor(flavor);
var cb = Services.clipboard;
cb.getData(trans, cb.kGlobalClipboard);
var str       = {};
var strLength = {};
trans.getTransferData(flavor, str, strLength);
if(str&&str.value){pastedTxt = str.value.QueryInterface(Ci.nsISupportsString).data;
var str = Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString);
str.data = pastedTxt;
var flavor = flavors[0]; // output:[0] = text/unicode
var trans = Cc["@mozilla.org/widget/transferable;1"].createInstance(Ci.nsITransferable);
trans.init(null);
trans.addDataFlavor(flavor);
trans.setTransferData(flavor,str,pastedTxt.length*2);
cb.setData(trans,null,cb.kGlobalClipboard);
}

more options

Note that you can convert JSON to CSV online via convert websites.

more options

Thanks both for your responses. (*ddben, I don't save history older than 6 months.)

Cor-el, I am trying to reconstruct my daily workflow from 2019, so date-added and visit dates are both useful. I figured out how to get the JSON export into the convertcsv.com input window, and played around with the format, but can't get the output pivoting into a (cascading) list. At best it displays 4 lines - one for each of the top-level folders - and then displays everything in that top-level folder in a horizontal line. I have 3400 bookmarks, some nested in folders 5 levels deep. It doesn't fit in the horizontal bredth of an Excel worksheet.

I will keep playing around with it. I glanced at the Browser Console link, but it's way over my head and will take me a while to absorb it. I may just need to go into each folder, sort by date, shift-select all the ones with 2019 dates, and batch tag them, and then see what I can do with sorting/exporting the tagged info. It might not take as much time as learning how to convert a JSON export into a readable/chronological series of records, then doing further manipulation to get the records I need. If you have any further suggestions, they are welcome.

By the way I've also looked at various bookmark managers, but so far not finding one that helps with this task.