YouTube Video Looper
The player is YouTube's own embedded player, loaded from the privacy-enhanced youtube-nocookie.com domain only when you press the button. The loop runs in your browser; this page sends nothing to a server.
The player is YouTube's own embedded player, loaded from the privacy-enhanced youtube-nocookie.com domain only when you press the button. The loop runs in your browser; this page sends nothing to a server.
This YouTube video looper plays a video on repeat in your browser, either the whole video or one section between a start and an end time, with a counter and an optional stop after a set number of loops. Paste any video, Shorts, youtu.be, or live link, press Loop video, and the player starts. There is no extension to install, no account to make, and nothing to download: the video plays in YouTube's own embedded player, served from YouTube's privacy-enhanced domain, and the looping is a few lines of script on this page that tell the player where to seek. The loop link the page makes reopens it with the same video and times, so you can send a loop to someone else.
youtube.com/watch?v=ID, youtu.be/ID, youtube.com/shorts/ID, a /live/ or /embed/ URL, or the bare 11-character ID. If the link carries a t= value, the start field is filled from it.1:30, 90 (seconds), 1m30s, or 1:02:03. A start time on its own repeats from that moment to the end. Type a number in Stop after if you want the player to pause by itself after that many loops.| Method | What it repeats | Where it works |
|---|---|---|
| This page | The whole video, or a section between two times, with a counter and a stop-after number | Any desktop or mobile browser; no extension, no account |
| YouTube's Loop menu item | The whole video | Desktop: right-click the player and choose Loop. Mobile app: the player's settings menu has Loop video |
| A playlist with one video | The whole video, through the playlist's repeat button | YouTube's site and app; needs a signed-in account to make the playlist |
An embed with loop=1&playlist=ID | The whole video, on your own web page | Any site you control; the embed code generator writes the iframe |
| A browser extension | Usually the whole video, sometimes a section, on youtube.com itself | Desktop browsers that take extensions; not mobile |
YouTube's embedded player can be driven from the page that holds it: the page sends it commands such as seek to this second and, once asked to, the player reports its state and current position about four times a second while it plays (measured on 2026-10-01: one report every 0.27 s). This looper uses exactly that. When you set an end time, the page watches the reported position and, the moment it passes the end time, sends a seek back to the start time. The jump lands within about a quarter of a second of the end time you typed (the overshoot measured on this page was 0.1 s), limited by how often the player reports its position and by where the nearest keyframe in the video sits. After each seek the player needs a moment to resume, so expect a short pause at the loop point rather than a seamless cut; a video edited to loop cleanly will not sound continuous through this method, and nothing that runs inside an embedded player can make it so.
A whole-video loop does not need the script at all: the embedded player repeats a video on its own when the URL carries loop=1 together with playlist=VIDEO_ID, the video listed as its own one-item playlist. The page sets those on the player it loads, so a whole-video loop keeps going even if the script's position reports were to stop. The counter still comes from the script, which notices each restart.
If you want the same thing on a page you control, start from the iframe the YouTube embed code generator writes with Loop ticked, which gives you the whole-video loop. For a section, add enablejsapi=1 and an origin= parameter naming your page's origin to the iframe URL, then listen for the player's message events, send it {"event":"listening"} once it has loaded, read currentTime out of the infoDelivery messages it returns, and post {"event":"command","func":"seekTo","args":[START,true]} whenever the time passes your end point. YouTube's IFrame Player API wraps the same messages in a script library with a friendlier interface, and either route works; this page uses the messages directly so that it loads no third-party script of its own.
A Short already repeats on its own in the Shorts player, which is the only player on YouTube that loops by default. Here a Short plays in the standard embedded player, inside a vertical frame when the link came from /shorts/, with the same section loop and counter as any other video. A live stream cannot loop while it is live, because there is no end to jump back from; once the stream has ended and its replay is on the channel, the replay loops like any other video. A video whose owner has turned off Allow embedding in YouTube Studio shows Video unavailable in every embedded player, this one included, and so do private and removed videos; the thumbnail may still load, because the image file is public even when embedding is not.
It does not download the video or extract its audio: the video streams from YouTube inside YouTube's player, with the same quality settings, captions, and, where the video carries them, the same ads as the video has on YouTube. It cannot keep a phone playing after the screen locks or the browser goes to the background, because mobile browsers stop media at that point regardless of the page. It cannot make the jump at the loop point inaudible. And it holds nothing about you: the page stores no history, sets no cookies of its own, and the loop link it makes is just this page's address with the video ID and the times in it. If you came here for the video's image rather than the video, the YouTube thumbnail grabber on the homepage takes the same link and gives you every thumbnail size.
On a desktop browser, right-click the video while it plays and choose Loop from the menu; the video restarts every time it ends until you turn Loop off the same way. In the YouTube mobile app, open the player's settings menu and choose Loop video. Both repeat the whole video only; neither can repeat a section, which is what this page adds.
Yes. Type a start and an end time before pressing Loop video. The page watches the player's position and, each time it reaches the end time, seeks back to the start time. The jump lands within a fraction of a second of the time you typed; the player needs a moment to resume after each seek, so there is a brief pause at the loop point rather than a seamless cut.
In a mobile browser, yes: the player loads in the page and loops the same way. Two phone limits apply and neither is this page's: mobile browsers stop video when the screen locks or the browser goes to the background, and they may require a tap on the player itself to start sound. The YouTube app does not open this page's player; the loop runs in the browser tab.
Either the stop-after count you set was reached, which the counter under the player reports, or the browser paused the tab: locked screens, battery saving, and background tabs on phones all stop media. On a desktop browser a looping tab keeps playing in the background. If the player shows Video unavailable, the video's owner has turned off embedding or the video is private or removed, and no looper can play it.
YouTube does not publish how it counts repeated plays from one viewer, and this page makes no claim about it. The video plays in YouTube's own embedded player, so whatever YouTube counts for an embedded play applies here; the looper adds nothing to it.
Yes. A Short is a normal video with an 11-character ID; the Shorts player on YouTube already repeats it, and here it plays in the standard embedded player with the same loop controls, including a section loop and a loop count. The page switches the frame to a vertical 9:16 shape when the link came from youtube.com/shorts/.
Use the embedded player's loop parameter. A single video only loops when it is also listed as its own playlist, so the iframe URL needs both: youtube.com/embed/VIDEO_ID?loop=1&playlist=VIDEO_ID. The embed code generator on this site writes that iframe for you when you tick Loop. A section loop on your own page needs a few lines of script that seek the player back, which is what this page runs.