Greasy Fork is available in English.

YouTube Auto-Resume

Seamlessly continue any YouTube video where you left off. This script automatically saves your playback position and features intelligent playlist handling: your progress within a playlist is saved separately, keeping it distinct from your progress on the same video watched elsewhere. Old data is cleaned up automatically.

A continuación se muestran las versiones de este script en las que se actualizó el código. Ver todas las versiones.

  • v2.4.1 13/11/2025

    Fixed a bug that caused the script to fail when trying to parse video link when there are none valid.

  • v2.3.5.1 25/10/2025

    Removed console spam.

  • v2.3.5 25/10/2025

    Fixed a bug that caused the script to occasionally update the stored playback progress value before resuming, causing the resumption to appear to fail.

  • v2.3.4 23/10/2025

    Fixed an issue that caused timestamped comments to fail at modifying video playback time.

  • v2.3.3 22/10/2025

    Fixed an issue that caused video preview containers to be incorrectly processed.
    Fixed an issue that caused preview progress bars that load in late to not be processed correctly. Fixed an issue that caused search result page previews to be processed incorrectly. (Only checked on desktop version.)

  • v2.3.2 22/10/2025

    Fixed a potential memory leak. Event listeners were being problematically defined inside a loop and would prevent removed elements from being garbage-collected and likely causes a detached DOM tree leak.

  • v2.3.1 21/10/2025

    Fixed an issue that caused navigation to not be intercepted if the href of the element has already been processd and the t parameter already removed.

  • v2.3.0 21/10/2025

    Updated to Youtube Helper API v0.5.8. This should help with certain iframe and mobile situations.
    Added playback progress preview bar with syncing. Tries to use the native playback progress preview bar to indicate if and where a video would be resumed to. Overrides existing preview bars if necessary. The current implementation seems fragile so this may be removed if maintenance proves too difficult. If this ends up staying then this will be documented in the script description.

  • v2.2.8 1/10/2025

    Update to YouTube Helper API 0.5.7.*

  • v2.2.7 1/10/2025

    Updated to YouTube Helper API 0.5.6. This fixes a bug that caused live content to be detected incorrectly and VODs being incorrectly excluded from progress restoration.

  • v2.2.6 30/9/2025

    Adjusted min save threshold to 1.5s. 3s was a bit too large.

  • v2.2.5 30/9/2025

    Added a 3 second minimum threshold for playback durations to be saved. Help avoid saving accidentally triggered playbacks. This is a simple patch only.

  • v2.2.4 29/9/2025

    Updated to YouTube Helper API 0.5.4.

  • v2.2.3 29/9/2025

    Updated to YouTube Helper API 0.5.2. This should fix the bug that causes playback progress to track incorrectly between videos.
    Fixed a bug that caused playback progress to persist when manually seeked to the end of the video progress bar.

  • v2.2.2 29/9/2025

    Updated YouTube Helper API to v0.5.1.
    Fixed storage interactions.
    Other minor bug fixes.

  • v2.2.1 29/9/2025

    Oops. Forgot to @require YouTube Helper API in v2.2.1.

  • v2.2.0 29/9/2025

    Updated script to use YouTube Helper API 0.4.8 for maximum function and compatibility. This should now use script storage whenever possible to avoid saved progress being cookie dependent.

  • v2.1.1 28/9/2025

    Reintroduced the feature that treats the watch later as regular videos. Watch later now syncs progress with regular videos instead of having its own playlist tracker.

  • v2.1.0 18/9/2025

    Added mobile YouTube support.

  • v2.0.0 6/9/2025

    Replace Greasmonkey API depencies with standard JS alternative. Should provide better script manager compatibility.
    Added a per-video write lock feature to handle multiple tabs playing the same video.

  • v1.7.6 6/8/2025

    Removed the experiement patch that tried to fix youtube miniplay toggle when over shorts. Was causing too many issues in regular non-edge cases.

  • v1.7.5 29/7/2025

    Minor bug fixes.

  • v1.7.4 6/7/2025

    Fixed a bug that caused the script to incorrect reinitiate when toggling miniplayer mode.
    Added a debounce to cleanup that waits until the video actually stops playing.
    Implemented a fix that temporary patches YouTube's buggy miniplayer implementation. Video data would previouly, by YouTube's default, incorretly unload when toggling miniplayer mode while playing a video over a shorts video.

  • v1.7.3 27/6/2025

    Sync storage cleanup between multiple tabs.

  • v1.7.2 26/6/2025

    fix script incorrectly being loaded inside youtube live chat iframes.

  • v1.7.1 21/6/2025

    fixed a bug where invisible preloaded video players are detected by the script and forced to "resume" playback in the foreground.

  • v1.7 20/6/2025

    Removed the automatic navigation between videos within the same playlist. (I'm too lazy to fix related bugs, but also having that feature required the entire youtube playlist to fully finish loading, which takes way too long for even only slightly larger playlists, and is terrible for UX.)
    Playlist resumption updated to store all video within a playlist instead of only the last played one.
    Added a thing that automatically migrations data from v1.6 and before.

  • v1.6 16/6/2025
    • Added Full Playlist Support: The script now properly tracks and resumes progress within all YouTube playlists.
    • Separate Playlist Progress: A video's progress within a playlist is now saved independently to the playlist's context. Thiswill not interfere with the progress of the same video when watched outside of a playlist.

    • [m] Various code refactoring and robustness improvements.

  • v1.5.2 15/6/2025

    minor code clean up

  • v1.5.1 14/6/2025

    Mini Rewrite.

    • Fixed a few race conditions that caused resumption to appear ineffective under certain conditions.
    • Sped up the initial script loading.
    • Updated memory duration. It's not 30 days by default, but shorts and previews being shorter.
    • Added a cleanup interval that would clean up storage every 5 minutes. (experimental)
  • v1.4.1 5/5/2025

    Oops

  • v1.4 5/5/2025

    Added early loading for first load.
    Added better iframe handling.

  • v1.3.4 3/5/2025

    Tracking videos with specified times are causing more issues than it solves. Removing this feature.

  • v1.3.3 30/4/2025

    Added a small amount of extra handling logic for homepage and previews.

  • v1.3.2 27/4/2025

    Excluded script from being run in youtube chat.

  • v1.3.1 10/4/2025

    Restored resumption behaviour for "Watch Later" playlists.

  • v1.3 9/4/2025

    Updated script to no longer trigger resumption if the video is being viewed as part of a playlist. Playback progress is still tracked. It makes more sense if the playlist plays with every video playing completely through instead of starting at varying time for each video.

  • v1.2.12 27/3/2025

    Skips buffer check during seek. Increases perceived and actual performance slightly.

  • v1.2.11 28/2/2025

    oops

  • v1.2.10 28/2/2025

    Fixed an issue that caused videoIds to be tracked incorrectly when loading a video with a timed link.

  • v1.2.9 27/2/2025

    Skip videos that already have the t parameter to avoid overwriting the time specified by timed links.

  • v1.2.8 24/2/2025

    Refactor and minor bug fixes.

  • v1.2.7 21/2/2025

    slightly modified how new video loads are handled

  • v1.2.6 20/2/2025

    Update to match YouTube api event changes.

  • v1.2.5 19/2/2025

    Made videos not resume if the playback time is already within 1 second of the value stored.

  • v1.2.4 16/2/2025

    YouTube sometimes incorrectly sets playback status to isCued even if the video is already playing. Fixed code that relied on that playback status.
    Fixed an issue that incorrectly attaches multiple event listeners to the same video element under certain conditions.

  • v1.2.3 16/2/2025

    Make the script resume playback position without waiting for playback if the video is not in a cued state.

  • v1.2.2 15/2/2025

    Removed debug logging to stop console spam.

  • v1.2.1 15/2/2025

    Fixed an issue where the script would incorrectly start playback if the video player puts itself into the 'isCued' playback state.

  • v1.2.0 15/2/2025

    Seperated storage for each video ID so they no longer keep overwriting each other when multiple videos are playing at the same time.
    Disabled auto-resume for live content.

Ver todas las versiones del script