Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
  The Minimalistic Media Looper

Build Status

Create shareable loops and playlists using simple URL tokens.

A snowball of JavaScript antipatterns that turned into an avalanche of features.
Supports YouTube for video (with playlist import), Imgur for images (with gifv support) and SoundCloud for audio.

Deployed at

Table of Contents


Scratching own itches.

At the time YouTube did not provide any way to specify end timestamp when sharing a link to a video.
The amount of distractions and advertisements on third party sites that provided this functionality was abysmal.

Out of frustration, was born as a clean way to:

  • share specific fragment of YouTube video
  • display content without any distractions such as related videos or ads
  • create playlists with mixed content from YouTube, Imgur (image/gifv) and SoundCloud (audio)
  • guarantee backward-compatible API to create clean permalinks (see URL Parameters)

URL Parameters

The most basic loop is one video with optional range:


Time format is 1h2m3s or just a number of seconds.


YouTube-compatible syntax is also supported, enabling use by a simple domain swap in URLs: ?v=<videoId>[[#|&|:]t=<start>[;<end>]]

Advanced Loops

A YouTube video can have more than one interval. Intervals are chained with the + sign:


To chain intervals from multiple videos just append another &v=(...) at the end of URL:


Playlist Import

To generate v=(...) items from <playlistId> and start autoplay from <n>-th element:


YouTube URLs are supported transparently: if <videoId> is inside of the playlist specified by <playlistId> on <n>-th position, it will be deduplicated:


If URL already had some videos <n> will be recalculated.

Override Video Volume

To cap YouTube sound volume at a preferred level (global setting):


Level is a number between 0 (muted) and 100 (max volume).

Override Video Quality

To cap YouTube quality at a preferred level (global setting):


Current list of available levels can be found in YouTube Player API Reference.

Override Playback Rate

The default playback rate is 1, which indicates that the video is playing at normal speed. Playback rates may include values like 0.25, 0.5, 1, 1.5, and 2. It is a global flag (sets speed of all YouTube videos in playlist).


Current list of available playback rates can be found in YouTube Player API Reference.


By default image is displayed forever (useful for GIFs). A slideshow can be created with simplified t parameter:



Note: GIF intervals are automatically rendered as GIFV.


Single track interval:



Playlists (sets) are lazy-inlined on first play:



Any External URL

Generic HTML5 Player

Similar to YouTube Player - main difference is format for videoId.

Currently, to be detected, videoId has to begin with http and end with: .mp3, .mp4, .ogg, .ogv or .webm.


Generic Image Player

Similar to Imgur Player but if videoId starts with http it loads the URL and naïvely believes it is an image.



Random Mode


This parameter will force playback of all intervals in semi-random order (normalized random: current interval will not be played twice in a row).

Playlist Editor


This parameter will force playlist editor to be visible from the start.

Keyboard Commands

Press ? to toggle help screen listing available shortcuts.

Known Issues

Autoplay does not work in Google Chrome/Chromium

Chrome made the decision not to allow autoplay of video/audio content unless muted, to prevent annoying webpage content. There is no fix for this, but every user can opt-out and restore autoplay by opening chrome://flags/#autoplay-policy, changing it to No user gesture is required and restarting the browser:

enabling autoplay in Chrome

Playback pauses when tab is not active in Google Chrome/Chromium

The fix is the same as above (change chrome://flags/#autoplay-policy). See issue #151 for historical context.

Companion UserScript

There is a simple UserScript that adds a button on supported pages to open current resource in the app.


Click to install:

It may require preinstalled browser extension:






Ideas and bug reports are most welcome.


The itself is released under CC0 Public Domain Dedication.


Minimalistic YouTube / Imgur / SoundCloud Looper & Playlist Manager








No releases published


No packages published