Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Save My Tabs


Save My Tabs is an extension for Google Chrome that periodically saves info
on all of your open tabs to SQLite databases (window and tab numbers, URL and
title of each tab). Script files for Windows and Linux are bundled (see below)
to help users extract data from these databases.


Save My Tabs doesn't require any user intervention. Every several minutes, as
defined by it's preferences, extension creates a new local database file in the
extension's databases directory. This directory is in user Data directory, as
defined in:


and the path to databases is:

[user data dir]\Default\databases\chrome-extension_[extension id]_0

Each database contains info on all open tabs user had kept opened by the time
the file was created. Each database contains 2 tables:

- 'save_my_tabs_options': contains a single record with the name of database
  in the 'name' field;

- 'save_my_tabs_records': contains records on open tabs. Each record contains
  window index ('winindex' field), tab index within the window ('tabindex'),
  URL of tab ('url') and tab title ('title').

Default backup period is 15 minutes. User can change this value through the
Options page: navigate your Chrome to 'chrome://extensions' URL, and click
"Options" link of "Save My Tabs" extension. "Update" button saves the new
value of backup period.


The .crx file can be created with the help of Chrome browser. Navigate the
Chrome to 'chrome://extensions' URL, expand the 'Developer mode' selector
(right side of 'Extensions' band), click on 'Pack extension' button and choose
the directory where source files are.


The extension can be installed either by drag-and-dropping the 'savemytabs.crx'
file over an existing Chrome window, or, if you have the extension source files
unpacked, by navigating Chrome to 'chrome://extensions' URL, expanding the
'Developer mode' selector (right side of 'Extensions' band), clicking 'Load
unpacked extension' and choosing the folder where the source files are.


1. Prerequisites.

Before extracting the data from database files, you should have the following
at hand:

- SQLite executable for your operating system. Precompiled binaries for some
  operating systems can be downloaded from:


- Extension ID. This can be retrieved from the Chrome's extensions control page
 ('chrome://extensions'); ID is 32-symbol string just below the description of
  'Save My Tabs'.

- path to the user's database directory, derived from the extension ID (above)
  and user data directory path, as defined in:


Database path is:

  [user data dir]/databases/chrome-extension_[extension id]_0/

2. Extraction procedures.

Bundled with the extension are the batch file (Windows) and bash script (Linux)
that will help with the data extraction.

Before running the scripts, one should:

- get the extension id (see above);

2.1. Windows:

- ensure that "save-my-tabs-id" variable in the batch file is equal to the 
  extension id, so script has a correct path to the database files;

- be sure to have the SQLite 3 executable accessible (or just placed in the
  same directory where the batch file is). You can download the Windows binary
  from sqlite.org site.

Run the "extract.bat" to extract the data from Chrome user databases to the
tab-separated files. Script creates one or more (equal to the number of new
databases created by extension) .txt files in the same directory where the
batch file is.

Note that "extract.bat" file can be run from any directory, given the SQLite
executable is in the same directory (or available through the environment)
and paths in the batch file are correct.

2.2. Linux:

- ensure that "save_my_tabs_id" variable in the bash script is equal to the 
  extension id, so script has a correct path to the database files;

- ensure that "save_my_tabs_user" variable in the bash script is equal to your
  user name, so script has a correct path to the database files.

- be sure to have the sqlite3 package installed. You can check it's existance
  with "sqlite3 -version" command through the terminal.

When all of the above is done, you can run "sh extract.sh" through the
terminal. Script will create the appropriate text files in your current


Copyright 2010 Joseph Turian.
Developed by Dmitriy Khudorozhkov.