A Chrome extension that tracks your browsing time on each website with beautiful visual charts and idle detection.
- 📊 Time Tracking: Automatically tracks time spent on each website
- 🎨 Visual Charts: Beautiful bar charts showing top 5 most visited sites
- 📋 Detailed List: Complete list of all sites sorted by time spent
- ⏸️ Idle Detection: Automatically pauses tracking when you're idle
- 💾 Data Persistence: Saves data locally (resets daily at midnight)
- 📤 CSV Export: Export your browsing data for analysis
- 🔄 Auto-Reset: Data automatically resets each day
-
Download or clone this repository to your computer
-
Generate icons (one-time setup):
- Open
icon-generator.htmlin your browser - Click "Download Icons"
- Move the downloaded PNG files to the
icons/folder
- Open
-
Install in Chrome:
- Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode (toggle in top-right corner)
- Click Load unpacked
- Select the
browsing-time-trackerfolder - The extension is now installed!
- Open Chrome and navigate to
-
Pin the extension (optional but recommended):
- Click the extensions icon (puzzle piece) in Chrome toolbar
- Click the pin icon next to "Browsing Time Tracker"
If the icon generator doesn't work:
- Create a simple clock icon at sizes: 16x16, 48x48, 128x128
- Save as:
icon16.png,icon48.png,icon128.png - Place in the
icons/folder
- Click the extension icon in Chrome toolbar
- See your browsing statistics:
- Total sites visited today
- Total time spent browsing
- Bar chart of top 5 sites
- Complete list with time bars
- Displayed as:
2h 34m(hours and minutes) - Tracks: Hours, minutes, seconds (internally)
The extension automatically pauses tracking when:
- No mouse/keyboard activity for 60 seconds
- Computer is locked
- Tracking resumes when you become active again
- Open the extension popup
- Click "📊 Export CSV" button
- File downloads as:
browsing-time-YYYY-MM-DD.csv - CSV contains: Domain, Time (HH:MM), Total Seconds
- Open the extension popup
- Click "🗑️ Reset" button
- Confirm to clear all data for today
- Note: Data also auto-resets at midnight
- All data stays local - No external servers
- No tracking - We don't track you
- Chrome storage only - Data stored in browser
- Daily reset - Automatic cleanup
browsing-time-tracker/
├── manifest.json # Extension configuration
├── background.js # Time tracking logic
├── popup.html # Extension popup UI
├── popup.css # Popup styles
├── popup.js # Popup functionality
├── icon-generator.html # Icon generator tool
├── icons/
│ ├── icon16.png # Extension icon (16px)
│ ├── icon48.png # Extension icon (48px)
│ └── icon128.png # Extension icon (128px)
└── README.md # This file
tabs- Track tab switches and URLsstorage- Save browsing data locallyidle- Detect when user is idleactiveTab- Access current tab information
- Tracks time when tab is active and focused
- Groups by domain (e.g., youtube.com, github.com)
- Ignores:
chrome://,edge://,file://, extension pages - Saves every 30 seconds for persistence
{
"siteData": {
"youtube.com": 3600,
"github.com": 1800
},
"lastResetDate": "2026-02-06"
}- Check if extension is enabled in
chrome://extensions/ - Refresh the page you want to track
- Make sure you're not in incognito mode (unless enabled)
- Check console for errors (background script)
- Generate icons using
icon-generator.html - Verify PNG files are in
icons/folder - Check file names:
icon16.png,icon48.png,icon128.png
- Check Chrome storage permissions
- Clear extension data and reinstall
- Check browser console for errors
To update the extension after making changes:
- Make your changes to the files
- Go to
chrome://extensions/ - Find "Browsing Time Tracker"
- Click the refresh icon (circular arrow)
- Changes are now active!
MIT License - Feel free to use, modify, and distribute!
- Weekly/monthly reports
- Set time limits for specific sites
- Dark mode support
- Notification when reaching time limits
- Sync across devices
Feel free to fork and submit pull requests!
Happy tracking! ⏱️