Bookmark Resume for YouTube
Save your YouTube playback progress locally and resume bookmarked videos exactly where you left off.
Bookmark Resume for YouTube is a lightweight Chrome extension that remembers where you stopped watching and returns to that position the next time you open a bookmarked video. It keeps your bookmarks untouched — no timestamps in URLs, no lost favicons, and no duplicate bookmarks.
Why This Extension?
Your Bookmarks Stay Yours
Progress is stored in chrome.storage.local, not in the bookmark URL. Your stars, icons, folders, and sharing links keep working exactly as before.
Resume Without Thinking
Open any bookmarked YouTube video and playback continues from your last position. There is no button to press and no player overlay to configure.
Works While You Watch
Progress is saved when you pause, drag the timeline, switch tabs, switch videos, and on a configurable heartbeat (30 seconds by default). Rewatching an earlier part counts too — the extension remembers where you actually stopped.
Local and Private
Everything runs in your browser. There are no accounts, no servers, no analytics, and no network requests from the extension.
Key Features
- Automatic Resume — Seeks to your saved position once the player is ready, and only once.
- Progress in the Bookmark Title — Optionally prefixes bookmark names with the watched percentage, such as
[43%] Deep Work. The URL never changes.
- Full Playback Cycle — Going back and rewatching is saved like any other position; only an identical second is skipped.
- Multiple Bookmarks per Video — Every bookmark pointing at the same video shares one progress record and receives the same title update.
- Write Guards — Short videos, the opening 30 seconds, the last 30 seconds, live streams, premieres, ads, Shorts, and embedded players are never written.
- Chrome Side Panel — Shows the current video, matched bookmarks, progress, and the last save time, along with three settings.
- Sync Settings, Local Progress — Preferences use
chrome.storage.sync; playback positions stay on the device.
- Legacy Migration — A one-time migration moves old
?t= positions out of bookmark URLs and into local storage.
How It Works
- Bookmark a Video: Use Chrome's star button or open an existing YouTube bookmark.
- Watch Normally: The content script samples the player and the background worker saves guarded progress.
- Come Back: Opening the same bookmarked video resumes from the saved second.
- Adjust if Needed: Open the side panel to enable or disable saving, change the heartbeat, or turn title updates on or off.
When Progress Is Saved
- When the video is paused
- One second after a seek settles
- When the tab becomes hidden
- When YouTube navigates to another video
- On the heartbeat interval while playing (30, 60, or 120 seconds)
When Progress Is Not Saved
- Videos shorter than 2 minutes
- The first 30 seconds, and the last 30 seconds
- Positions identical to the stored second
- Videos without a matching bookmark
- Live streams, premieres, and other videos without a finite duration
- During ads, and on Shorts or embedded players
- When the player duration and the page metadata differ by more than 3 seconds
Technical Overview
- Manifest Version: Manifest V3 (Chrome 114+)
- Architecture: Content script + background service worker + Chrome Side Panel
- Progress Storage:
chrome.storage.local, one record per video
- Settings Storage:
chrome.storage.sync
- Runtime State:
chrome.storage.session, cleared when the browser session ends
- Permissions:
bookmarks, storage, sidePanel; host permissions for www.youtube.com and m.youtube.com
- Network: None. The extension makes no remote requests.
Known Limitations
- Progress is stored per browser profile and does not sync across devices. Bookmark titles do sync through Chrome Sync and can serve as a rough hint.
- Opening the same bookmark on a phone, or in a browser without the extension, starts from the beginning.
- Any bookmarked video resumes automatically, whether it was opened from the bookmarks bar, the home page, or search.
- If a page URL already contains
t= or start=, that timestamp is respected and is not overridden.
- Managed bookmarks are never renamed, although their progress is still saved and restored.
Privacy
The extension collects nothing, sends nothing, and includes no analytics or telemetry. Playback progress stays in chrome.storage.local, settings stay in chrome.storage.sync, and runtime state is cleared at the end of each browser session. Read the Privacy Policy for details.
Version: 0.1.0
Privacy Policy | All Projects