How to Go Frame by Frame in VLC

While playing a media file in VLC, sometimes you will have the need to go frame by frame. To get to an exact shot or scene, you will need to play the video forward one frame at a time. VLC has a frame by frame feature that allows you to step just the tiniest bit ahead in a movie. It gives you full control of where you want to reach in the timeline. Unfortunately, VLC doesn’t support frame-stepping backwards; it’s only possible to move forward.

There are two simple ways you can follow to move one frame ahead at the time. One is by using the shortcut key and two is from the Advanced Controls bar of the player interface.

Shortcut Key

This has to be the simplest method. Just navigate in the timeline where you want to capture or pause at a frame. Then, hit the shortcut key: e.

To use this shortcut, your video can be either playing or pausing. If it is playing, then hitting ‘E’ would stop the play and will navigate it forward one frame at a time. Tap on the ‘E’ key on your keyboard a couple of times to get to the accurate place in the media.

If the hotkey ‘E’ doesn’t work for you, then it is likely that another keyboard character has been assigned to the task. You can view (or even edit) the shortcuts by going to Tools > Preferences and then by switching to the Hotkeys tab. Enter frame on the search area to bring it up easily. Edit it if you want or keep it as it is.

Next Frame Hotkeys

You may be interested in: How to Edit VLC Media Player Shortcuts or Hotkeys

Advanced Controls

The default layout of the player doesn’t display the next frame button on it. You will have to bring it up in the interface. If you haven’t changed anything, then go to the View menu and then click on Advanced Controls to turn it on.

You will notice another line of player controls appear right above the default set of media control keys. Press the last button in the advanced controls to access the frame by frame feature.

Next Frame Button

It looks like a film strip; actually, two film strips like they’re skipping (frame skipping). If you put your mouse pointer over it for a while, it will show the info. Press it and it will take you forward in the media one frame at a time.

If you can’t find the button in the advanced control interface, then you can add it using the Tools > Customize Interface feature.

To get additional details on customizing VLC interface: How to Customize VLC Media Player Interface

89 thoughts to “How to Go Frame by Frame in VLC”

  1. We got chat gpt dude, I’m not a programmer but ask chat gpt some answers do this job I certainly going to come back here to donate, or even create a donate page so that when it pay u bills u guys can developer such a thing. Its so necessary

  2. For Heavens Sakes People. We are sending Astronauts to space. We have taken photos of the Entire KNOWN universe, we have AI Chatbots and You bunch of Losers CANT even freakin get to make a < Back One Frame button on VLC Player ????

    This is SUCH a total Bullcrap B.S. Dont give us stupid lame excuses anymore. If its SOOOO god damned hard to get some coding done, then for heavens sake GET AN AI BOT to do it For you !!! What's so hard ???

    All the USERS has been asking for this for So long. Whats really TAKING you so long to respond to some SMALL requests thingy ???? VLC has been pouring out with SO many versions, Patches. WHY cant they just GIVE THIS by the next Update ??? IT IS 2023…23 Years since 2020… are you all still that blind and ignorant ?

    1. @SURGI ICAL STRYKE

      I just wanted to make a few observations/opinions on your comments:

      1. AI bots are in their infancy at programming and cannot just make a full program that works right out of the gate. It still takes humans to fix their mistakes. At this point they are just emulating code they have been fed to them from websites where users posted code from years ago.

      2. As a former IT tech, users have no idea what is easy or hard to implement. I had people NOT ask me to fix something because they thought it would be too hard to do. Some of those things were two second fixes and I told them to never hesitate to ask and I would tell them if it was an easy fix. Other times, they would ask for monumental projects that would take a year to complete and they thought it would only take a couple hours. I don’t know how hard it is to implement a frame de-increment, but I’m not working on the project. Maybe it’s not an easy thing to do.

      3. It is 2023, but it has not been 23 years since 2020. But with your typo (or bad math), you have the audacity to call the people who work on VLC voluntarily: “blind and ignorant”. These people are giving you quality software for FREE. If you don’t like it, write your own software. VLC is incredible and a frame de-increment would be nice, but I would never bash these great software developers who devote their time for free. Comments like yours will motivate them to give up on projects like this and they could be abandoned and you may never see the feature you want.

      Other than that, have a nice day.

    2. While I did enjoy your rant and I generally agree that this feature is indeed missing, I can’t help to offer this reminder….It’s free…. Say you give a car to someone and what you get in return is a bucket of vomit about scratches in the paint job. Just saying. Be reasonable guys, VLC is and has been for many years our go-to media player. Send some love their way.

    3. For Heavens sake the answer is so simple. Since most of these coders are not working, since I do not see many astronaughts in space these days, we should be able to get them to work on really important stuff like frame +and -. They, after all, work for us, these people at NASA etc. Sounds like all we have to do is ask them to help. Help us! There that should do it

  3. BS! Frame stepping includes forward and backward.
    Previous frame step is what most of us want! Next frame step is already an existing feature for VLC.
    MPC could do that with ease for a long time since and you can’t, VLC till now?
    You just omitted what you couldn’t do. Frame stepping in this ‘help’ page is just half past.

    1. While I don’t approve of the omission, it’s not that simple. In a nutshell, digital movies aren’t stored as frames like analog film movies are. Each “frame” is only an update on any pixels that changed since last “frame”, rather than an entire image. Thus, stepping backward once would require looking at every single step all the way back until you have a change to every single pixel in the grid, then running forward until you’re one behind where you started. Those frames could conceivably be cached in memory, but you’d quickly run out. This would be super computation-intensive, and would lag severely in the cases where it would work at all.

      1. I’d say, like a lot of things involving code, it depends. YouTube has previous and next frame keys (comma and period) for all of their videos. After testing their implementation, I believe depending on the video format you’d only need to capture one extra full frame in memory however many steps back you want to allow, then switching to the previous frame would just require blitting the cached full back frame, and then blitting all the change frames from disk after the back frame up to the previous frame. If those change frames need to be cached too, that’s at least a lot better than caching a bunch of full frames.

      2. Like lugni pointed out, Youtube has the feature, and it has for about a decade now. You sound like someone who knows the jargin but not at all how video works. Digital video is presented in frames, every heard of framerate? Technically the video file is a bunch of ones and zeros but I could deduce analog film to “caught protons”. Digital video doesnt work without a framerate.

      3. It’s not as complicated as that (and its not as simple as others have implied either).

        An “intra-frame” or “I-frame” is a full image. But very few (if any) modern CODECs will encode nothing but I-frames, because it wastes a lot of bandwidth. So the I-frames will be presented at some frequency lower than the frame rate.

        The intervening frames will be either forward-predicted inter-frames (“P-frames”) or bidirectionally-predicted inter-frams (“B-frames”). Both types represent the diffs between adjacent frames and are used to improve compression ratios.

        So, in the worst case (where the player isn’t caching any completed frames), to skip backward, you would have to walk back to the previous I-frame and then process the P/B-frames until you get to the required frame.

        Depending on how far back you have to walk in order to find that I-frame, the CPU load and latency might be small or large, but it’s quite possible.

    1. This is a often asked-for feature, going back years. There’s a VLC extension called “Jump to time Previous frame v3” that’s said to work. (Haven’t tried it yet, but will shortly.) My workaround has been to use the E key for forward frame advance and if I miss the frame I want, use CTRL-T to back up about 1 to 3 seconds and go forward again.

  4. Can frame advance and record be used concurrently? In other words, can I use pause and frame-advance to get the video positioned to the exact frame I want the recording to start at, click record, click frame advance until I reach the end of the desired clip, then click record again to turn it off, and end up with a video clip that will play from/to the selected frames at normal speed?

    1. You can use the frame advance to get the the desired frame just once. After that, if you hit record, we have no control over advancing frames or the video navigation overall.

  5. Thanks for the hint for stepping frames forward – very handy when checking surveillance camera material. However, I immediately faced several situations, that I’d need also stepping frames backwards…

    1. What is the best way to setup a reward for a features?

      Ive wanted this for a long time and might be willing to set something up. Definitely willing to donate.

    2. That’s because it’s one of the most basic and expected features in any media player.

  6. How is this not a thing yet? :/ I’m sick of having to use quicktime for work. And it’s such an easy addition…

  7. I am a digital artist who paints, illustrates, and animates, often while studying a video (tutorial or other). I have a legit need to frame-step backwards and forwards often. Frame stepping backward would be a great addition to VLC Media Player.

  8. There are many users coming from Mac to Windows and who use Quicktime desperately looking for a solid windows video player. I can’t believe after all these years VLC still won’t support this super simple request. They need to hurry thought because personally I got tired of waiting and started using the Daum POT Player which I really like. If they ever release the frame by frame I’ll consider coming back to VLC but not until that point.

  9. COMPLAIN Complain complain… yes backwards feature would be tops but it’s free and I’ve gotten very good at reversing past the time I want play it and pause exactly where i want it. If you a programmer, make it, get the bragging rights we’ll applaud you, otherwise put up or shut up. i Like, OLE!

    1. You know what’s also free? MPC-HC, it’s better in most ways AND it has a previous frame button. As for being a programmer, this isn’t that hard of a problem. It would take a copy paste of the same code to go forward, but you change it to -1 instead of +1. If I provided my own fix, who would it help? Myself? Maybe three other people who find my fix, and yet the problem would stay there forever bugging common people who don’t know how to program or find and use unofficial fixes.
      No, the squeaky wheel gets the oil. We need a previous frame function.

      1. I do happen to have MPC-HC but never tired using it that way, Thanx for the info, my hat off to you.
        I don’t like “squeaky wheel gets the oil” saying, people us it negative instead of a productive way. But I understand what you mean. They’ll never going to provide it. VLC prove me wrong LOL.
        Adios Muchachas, OLE!

      2. Pretending it is as simple as changing a +1 into a -1 just shows you’ve got absolutely no knowledge of how videos encoding works. You would have to reverse back to the previous key frame and then play all the following frames from there to the targeted frame. Depending on your CPU and the frequency of key frames, it can be more or less time consuming, and it gets much more complicated if you want to avoid this flaw.

        1. As a software engineer, I can say that it can actually be simple. Since the frames are being buffered into memory. Therefore VLC can actually have a few previous frames stored in buffer. So pressing a key to go backwards should be easy as just grabbing the frame from the buffer.

          1. As a software engineer you should know that keeping raw data for previous frames in a buffer is memory consuming (150MB for one second in 1920x1080x24bits) and you would never do that if you are planning to make the lightest video player possible. And guess what, according to the memory consumption of VLC when reading a full HD video, they don’t.

            Also, buffers have boundaries. Once you get to index 0 you can’t go back any further, unless you add extra code to reverse back to the previous key frame as I explained in my previous comment.

            So yes, it CAN be done, obviously. And no, it’s not as simple as suggested.

        2. If the video software can’t go back a single frame, then it’s shit software, end of story. Makes you wonder what other basic stuff is too hard for VLC but every other half-baked media player can do.

    2. There are a LOT of comments on this page begging for framewise stepping backward.

      I would like to respectfully request additional hotkey to step framewise up and down, and in and out. We do live in a 3D world after all!

    3. I won’t complain.. I’m just not using VLC. It’s a joke. Who programs half a feature? Don’t want that on my PC is all I know. What else did they half do? Looks sloppy.

    4. Are you kidding? Why offer a (hidden) forward frame advance without offering a back frame advance?

    1. Big simplification here, but the way that most compressed video works is that there are only so many frames that have full information stored (called “i-frames”), and every subsequent frame just records what the changes are from the previous frame (these are called “p-frames”). Going forward one frame is easy: you just substitute the current frame with whatever the new information contained in the new frame is. Going back is much trickier, you need to go all the way back to the last keyed frame, then go forward to frame before the one that you want to go back to.

      Or, in other words, moving forward one step involves moving forward one step, moving backwards one step involves moving backwards 15 steps and forward 14.

      (there are bidirectional step frames, called “b-frames”, but they are rarely used)

      1. Why not just deduct the changes described on the current frame instead of going back to the key frame? I still think it’s silly not to have it both ways. As a programmer I might actually look into it.

        1. I’ll drink to that. The fact that you may or may not look into it. You may find out it to much hassle and we’ll still be wondering. If you do may you be so kind to let us know what was the outcome. I tip my hat to you. OLE!

      2. One potentially nice option would be a “go to previous i-frame” key. That would address the needs of many professional users, who either work in codecs like DNxHD or ProRes that fully encode every frame, or whose pipelines have the ability to generate MP4s with i-frames every frame (e.g. with ffmpeg -g 1).

        In the meantime, Darby Johnson’s djv_view is pretty good for this once you get used to using “[” and “]” for stepping.

  10. Memory isn’t a problem today so why not . why not just place images rendered to the screen on a stack and pop the stack 1 frame at a time until reaching an arbitrary prior frame. Then move backwards some arbitrary number frames and then push frames from that point onto the stack. Moving forward is easy. Just advance to the next frame and push it on the stack. If special effects are modified to a range of frames which are on the stack, go back to your initial reference and rerender the images with the new effects and place those frames back onto the stack. Not elegant but it should be easy to implement and a better solution can be implemented later. People will smile. 😀 🙂 😎

  11. Frame by frame will stop working after like 10-15 frames. then its hooped. problem dates back 10+ years so if your here looking for a solution. its to use a different program.

  12. Jan 2019 – Sure could use a frame step back hotkey. Only being able to navigate frame by frame in one direction is pretty useless.

    1. Agreed! That’s PURE GARBAGE. This is open source! Can’t someone just program that already. Yeesh!

  13. VLC (2.2.2-5) has many problems with HD content. Even with Jump to Time, I can only progress forward on many Youtube videos in MP4 format. Even larger jumps like + 1 min, the only direction is forward. And sometimes, VLC only accepts about 3-4 jumps, regardless whether in native VLC commands or in Jump to Time. After those 3 or 4 jumps VLC will hang and has to be killed. And yes, I did increse the cache (to 4 seconds).

  14. love VLC by accident i discovered frame by frame feature, didn’t know that windows media player has forward backwards feature. he’s the irony, for me backwards works on media but not forward. on vlc forward works but not bcakwards LOL i just move the slider back a few seconds and go forward frame by frame. works for me.

  15. VLC Devs — Put in a previous frame hotkey. it’s 2019 and we’ve had move forward 1 frame but no option to move backwards 1 frame.

    I wouldn’t care so much about this if A LOT of people didn’t use it and it wasn’t such an easy thing to implement.

    Hell, Youtube, and other HTML5 and variant embedded video players have this functionality. It’s mind boggling some of the simple features developers ignore for weeks, months, years, and decades. — Further you guys don’t communicate with the public very well. IE: We intend to have this functionality in the X.X.X.X release by Q1 of 2019 or whatnot.

    What’s up?

  16. Please put a backwards step feature in the software. Also, a frame number or a high resolution would be beneficial.
    Thanks

  17. Does anyone from VLC ever read these requests. I am also looking for a back key. It seems that people have requested it for a long time and there has been no response. I thought this was supposed to be one of the best players, but as someone else noted I could do more with some of the older Windows products regarding forward and back stepping

  18. Yes! My company moved us from Mac to PC, and Quicktime player is slow and buggy on a PC but please, add this feature asap before people like me start looking for an alternative! I have to select frames from clips and make gifs and images from them and do you know what a pain it is to only be able to move frame by frame forward? Also please let us choose our own hot key for it so we can assign it the arrow keys. Thanks!

  19. Here another supporter for adding frame stepping backwards. Preferably controled with the cursor keys or the mouse wheel. Thanks in advance for developing this feature.

  20. If you install the Jump to time (Previous frame) v2.1 VLC extension and modify the lua script, you can use alt+b and alt+f to move back/forward one frame at a time.

    https://addons.videolan.org/default/hive/show/content/156396

    After installing, change the following two sections of script in the lua file:

    jumps = { — drop-down list
    {“1/FPS”, “vlcfps”},
    {“2 sec”, 2},
    {“20 sec”, 20},
    — {“30 sec”, 30},
    {“1 min”, “1:00”},
    {“5 min”, “5:00”},
    {“10 min”, “10:00”},
    {“1/2 sec”, 0.5},
    {“1/x”, “reciprocal”},
    {“1/23.976”, 1/23.976},
    {“1/24”, 1/24},
    {“1/25”, 1/25},
    {“1/29.97”, 1/29.97},
    {“1/30”, 1/30},
    {“1/60”, 1/60},
    }

    AND

    function activate()
    Create_dialog()
    click_Get_time()
    click_Use_jump()
    end

    Now when you launch a video in VLC, hit alt+i, up-arrow twice (or until you have the Jump to Time extension highlighted in the menu), enter, then you can use alt+b/alt+f to move back/forward one frame at a time.

    Someday, when I’m more familiar with VLC extensions, maybe I’ll figure out how to enable and launch the extension dialog by default, or with one simple hotkey. But until then, this at least makes the functionality possible, and easy enough to enable/use.

    1. The version 3 of the extension seems to have your trick already included in the script BUT is not working with my VLC version 3.0.3. I tried aswell to edit the version 2.1 of the extension but it didn’t work. Any idea?

    2. This is what I’m doing, but there are 2 problems:

      1) I’d like to be able to choose my own hotkeys instead of using alt+b/alt+f
      2) I’d like to also be able to choose whether to move forward/back by one frame, by one second, or by 10 seconds, etc. I can use the native features of VLC to set jump lengths and hotkeys BUT the Jump to Frame extension opens in its own window, and alt+f/alt+b only works when that window is selected, and the jump hotkeys only work when the main VLC window is selected. Ideally I would like to dock the Jump to Time window somewhere with all the other controls and use all of the hotkeys whenever I want without having to select the correct window.

      Any workaround for this?

  21. There certainly needs to be a backwards step (and it should be controlled by the cursor keys, so that its easy to find), its a bit silly no one has done this yet 🙁

  22. FOR THE LOVE OF GOD: STEP BACKWARDS ONE FRAME!!!! WHO DESIGNED THIS IDIOTIC BUG/FEATURE?

  23. As you have heard many times, having a “step-forward” without a “step-backward” is almost useless. I had heard that VLC was the best player, but with that feature not available, it’s no better than media player classic on windows xp. it’s 2017 and you guys can’t do it, but windows has had that feature for ages. Come on!

  24. “Next frame” needs “Previous frame”.
    Any users of this will want to go backwards when they stepped too far…

    Also, please make the arrow keys control this by default. This should be easily discoverable, without needing to do a web search, or searching through hot key lists.

  25. From the comments above, many users have need of this functionality.Any guestimate of when “frame stepping backwards” might be included?

  26. Yeah i love using VLC, but its so sad that it doesnt have the frame-stepping backwards, as an animator i would like to be able so switch back and forth to analize better how a movement is made, please considered it for the next update, thank you

  27. I’m glad I found the “next frame”-key. Without a “previous frame”-key it makes only have sense, in searching keypoints, however. Please include this function soon!!

    Thanks for the VLC-Player anyway!

    Greetings from Switzerland.

  28. “It gives you full control of where you want to reach in the timeline. Unfortunately, VLC doesn’t support frame-stepping backwards; it’s only possible to move forward.”

    If it doesn’t support frame-stepping backwards, it doesn’t allow full control of where you want to reach in the timeline! Please, please include this feature. You would make so many users so very happy.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.