A modern web application that processes Google Chrome session files client-side to extract and display all tabs that are/were open. This tool provides a beautiful, user-friendly interface to analyze Chrome session data without requiring any server-side processing.
Access the application directly at: lachlanallison.github.io/chrome-session-viewer
No installation required - just visit the link and start analyzing your Chrome session files!
- Client-Side Processing: All file processing happens in your browser - no data is sent to any server
- Drag & Drop Interface: Simply drag your Chrome session file onto the upload area
- Modern UI: Beautiful, responsive design with Chrome-inspired styling
- Comprehensive Tab Information: View URLs, titles, active status, groups, and history
- Export Options: Export data as JSON or CSV for further analysis
- Filter Options: Show/hide deleted tabs and tab history
- Real-time Favicons: Automatically loads favicons for better visual identification
Chrome session files are typically located at:
Windows:
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Sessions\
macOS:
~/Library/Application Support/Google/Chrome/Default/Sessions/
Linux:
~/.config/google-chrome/Default/Sessions/
Look for files named Session_ followed by numbers (e.g., Session_13390747476041490).
- Visit lachlanallison.github.io/chrome-session-viewer or open
index.htmllocally in your web browser - Either:
- Drag and drop your session file onto the upload area, or
- Click "Browse Files" to select your session file
Once loaded, you'll see:
- Statistics: Number of windows, tabs, and active tabs
- Windows: Each browser window with its tabs
- Tab Details: URLs, titles, active status, groups, and history
- Controls: Options to show deleted tabs and tab history
Use the export buttons to save your session data:
- Export JSON: Complete data structure for programmatic use
- Export CSV: Spreadsheet-friendly format for analysis
This application parses Chrome's SNSS (Session Service) file format, which contains:
- Magic number: "SNSS"
- Version number (supports versions 1 and 3)
- Series of commands that reconstruct the session state
The parser handles these Chrome session commands:
kCommandUpdateTabNavigation(6): Tab URL and title updateskCommandSetSelectedTabInIndex(8): Active tab selectionkCommandSetTabWindow(0): Tab-to-window assignmentkCommandSetTabGroup(25): Tab group assignmentkCommandSetTabGroupMetadata2(27): Tab group nameskCommandSetSelectedNavigationIndex(7): Current history positionkCommandTabClosed(16): Tab deletionkCommandWindowClosed(17): Window deletionkCommandSetTabIndexInWindow(2): Tab orderingkCommandSetActiveWindow(20): Active window selection
- Modern browsers with ES6+ support
- File API support for client-side file reading
- ArrayBuffer support for binary data processing
├── assets/ # Images and favicons
│ ├── favicon.ico
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── apple-touch-icon.png
│ ├── android-chrome-192x192.png
│ ├── android-chrome-512x512.png
│ └── Screenshot.png
├── index.html # Main HTML interface
├── site.webmanifest # PWA manifest
├── styles.css # Modern CSS styling
├── session-parser.js # Core session file parser
├── app.js # Application logic and UI handling
└── README.md # This documentation
- No Server Communication: All processing happens locally in your browser
- No Data Storage: Session data is only held in memory during analysis
- No External Dependencies: Works completely offline (except for favicon loading)
This application is hosted on GitHub Pages at lachlanallison.github.io/chrome-session-viewer. The deployment is automatic - any changes pushed to the main branch will be reflected on the live site.
To run locally:
- Clone this repository
- Open
index.htmlin your web browser - No build process or server required!
This JavaScript implementation is based on the excellent Go version by Aetnaeus:
- Original Source: https://github.com/lemnos/chrome-session-dump
- Translated to JavaScript for client-side web processing
- Client-Side: Runs in web browsers instead of command line
- Interactive UI: Visual interface instead of command-line output
- Real-time Processing: Immediate visual feedback during parsing
- Export Options: Built-in JSON and CSV export functionality
-
"Invalid SNSS file" Error
- Ensure you're using a Chrome session file (not bookmarks or other data)
- Check that the file isn't corrupted
-
No Tabs Showing
- Try enabling "Show deleted tabs" option
- Verify the session file contains tab data
-
Parsing Errors
- Some session files may use newer formats not yet supported
- Check browser console for detailed error messages
- Chrome 60+, Firefox 55+, Safari 12+, Edge 79+
- JavaScript enabled
- File API support
Feel free to contribute improvements:
- Bug fixes for parsing edge cases
- UI/UX enhancements
- Support for additional Chrome session commands
- Performance optimizations
This project maintains the same spirit as the original Go implementation - free to use and modify for personal and educational purposes.