Chrome bookmarks

From Just Solve the File Format Problem
Revision as of 17:07, 13 January 2013 by Dan Tobias (Talk | contribs)

Jump to: navigation, search
File Format
Name Chrome bookmarks
Released 2008

Bookmarks in Google Chrome are stored in a file named Bookmarks (with no extension) in a data directory with a location that is system-specific, but in Windows Vista can be found in the directory \Users\username\AppData\Local\Google\Chrome\User Data\Default. A backup copy of the previous version of the file is saved in Bookmarks.bak.

The format does not appear to be documented anywhere, but it is apparently in JSON format, using a hierarchical structure corresponding to the bookmark folder structure. Attribute names in a bookmark entry include "date added", "id", "name", "type", and "url". The "id" values are numeric, probably assigned sequentially as bookmarks are added.

Character set

The file appears to be expressed in ASCII, with line breaks as CRLF (0D+0A), though the file examined was from the Windows version; it is possible that bookmark files from other systems could use line-break conventions appropriate to those systems. Non-ASCII characters are given as escape sequences like \u00ED, representing the Unicode character given by a four-digit hexadecimal number following "\u" (in this case the accented letter í).

Date format

The date format consists of huge numbers like 12871673787657328 or 12605573593000000. These examples are taken from an actual bookmark file; the one with six zeroes at the end is a clue that perhaps the time units are some tiny fraction of a second. Stripping the zeroes yields 12605573593, still one digit longer than current Unix-style timestamps, but stripping the final 3 gets a timestamp that translates to Fri, 11 Dec 2009 18:49:19 GMT, which may be the correct timestamp for the bookmark; this means that the timestamps are expressed with seven digits of precision beneath the seconds (in other words, in ten-millionths of a second). Or perhaps the added digits have some other specialized meaning; apparently only Google knows.

Source code

It's possible more info about the format could be gleaned by looking through the open-source Chromium source code, if that deals with bookmarks the same way as Chrome itself. Try searching on "bookmarks". The code there says that timestamps are milliseconds since the epoch, but as seen above there seem to be way more digits than that.

Personal tools