# How to render specific frame ranges of an animation in batch mode?

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?

• So you also want to do this in batch mode? (from the command line) – someonewithpc Feb 16 '16 at 22:55
• Yes, if that's the name for this. – RobotUnderscore Feb 16 '16 at 22:56
• Which OS are you on? – someonewithpc Feb 16 '16 at 22:58
• I'm on Windows 10. – RobotUnderscore Feb 16 '16 at 22:59
• 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. – someonewithpc Feb 16 '16 at 23:03

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.

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)

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