I have an animation of which I want to render specific frame ranges, such as frames 100 through 340 and frames 765 through 1092.

I saw on another Blender StackExchange question that you can render specific individual frames with the command line, but I need to render frame ranges.

Is there any way to do this?

  • $\begingroup$ So you also want to do this in batch mode? (from the command line) $\endgroup$ Feb 16, 2016 at 22:55
  • $\begingroup$ Yes, if that's the name for this. $\endgroup$ Feb 16, 2016 at 22:56
  • $\begingroup$ Which OS are you on? $\endgroup$ Feb 16, 2016 at 22:58
  • $\begingroup$ I'm on Windows 10. $\endgroup$ Feb 16, 2016 at 22:59
  • $\begingroup$ You could attempt to do something like what is suggested in this answer. Just replace 'ECHO %i' with the command to render single images. It's not ideal, but it should work. If at any point you have to stop or Blender just crashes, change the start value accordingly to resume. $\endgroup$ Feb 16, 2016 at 23:03

3 Answers 3


Command line render options

Remder options displayed by running blender --help in the system console

Render Options:
-b or --background 
    Run in background (often used for UI-less rendering).

-a or --render-anim 
    Render frames from start to end (inclusive).

-S or --scene <name>
    Set the active scene <name> for rendering.

-f or --render-frame <frame>
    Render frame <frame> and save it.

    * +<frame> start frame relative, -<frame> end frame relative.
    * A comma separated list of frames can also be used (no spaces).
    * A range of frames can be expressed using '..' separator between the first and last frames (inclusive).

-s or --frame-start <frame>
    Set start to frame <frame>, supports +/- for relative frames too.

-e or --frame-end <frame>
    Set end to frame <frame>, supports +/- for relative frames too.

-j or --frame-jump <frames>
    Set number of frames to step forward after each rendered frame.

-o or --render-output <path>
    Set the render path and file name.
    Use '//' at the start of the path to render relative to the blend-file.

    The '#' characters are replaced by the frame number, and used to define zero padding.

    * 'ani_##_test.png' becomes 'ani_01_test.png'
    * 'test-######.png' becomes 'test-000001.png'

    When the filename does not contain '#', The suffix '####' is added to the filename.

    The frame number will be added at the end of the filename, eg:
    # blender -b foobar.blend -o //render_ -F PNG -x 1 -a
    '//render_' becomes '//render_####', writing frames as '//render_0001.png'

-E or --engine <engine>
    Specify the render engine.
    Use -E help to list available engines.

-t or --threads <threads>
    Use amount of <threads> for rendering and other operations
    [1-1024], 0 for systems processor count.

The following command renders (render animation) frames 1 to 4, then 10 to 11 of file scripttest.blend

blender -b  some.blend -s 1 -e 4 -a -s 10 -e 11 -a

To render every nth frame set the jump value. Following command renders every second frame of first hundred, every third frame of second hundred frams

blender -b some.blend -s 1 -e 100 -j 2 -a -s 101 -e 200 -j 3 -a

Blender has many command line options, the two you are looking for are --frame-start and --frame-end (short versions are -s and -e).

blender -b myanimation.blend -s 100 -e 250

You can always see blenders cli options with blender --help


I just Googled this, then solved it myself much easier. Just set your animation timeline In & Out points to the range you want and hit CTRL-F12 (Windows)

  • $\begingroup$ The question clearly states "in batch mode" ie running blender from command line with no UI. $\endgroup$
    – batFINGER
    Dec 11, 2019 at 6:24
  • $\begingroup$ Ahhh, missed that bit. Sorry $\endgroup$
    – stimpygato
    Dec 11, 2019 at 13:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.