Command Line Rendering

In some situations we want to increase the render speed, access Blender remotely to render something or build scripts that use the command line.

One advantage of using the command line is that we do not need a graphical display (no need for X server on Linux for example) and consequently we can render via a remote shell (typically SSH).

  • See Command Line Arguments for a full list of arguments (for example to specify which scene to render, the end frame number, etc.), or simply run:

  • See Command Line Launching for specific instructions on launching Blender from the command line.

blender --help


Arguments are executed in the order they are given!

The following command will not work, since the output and extension are set after Blender is told to render:

blender -b file.blend -a -x 1 -o //render

The following command will behave as expected:

blender -b file.blend -x 1 -o //render -a

Always position -f or -a as the last arguments.

Single Image

blender -b file.blend -f 10

Render in the background (without UI).


Path to the blend-file to render.

-f 10

Render only the 10th frame.

blender -b file.blend -o /project/renders/frame_##### -F OPEN_EXR -f -2
-o /project/renders/frame_#####

Path of where to save the rendered image, using five padded zeros for the frame number.


Override the image format specified in the blend-file and save to an OpenEXR image.

-f -2

Render only the second last frame.


Arguments are case sensitive! -F and -f are not the same.


blender -b file.blend -a

Render the whole animation using all the settings saved in the blend-file.

blender -b file.blend -E CYCLES -s 10 -e 500 -t 2 -a

Use the “Cycles Render” engine. For a list of available render engines, run blender -E help.

-s 10 -e 500

Set the start frame to 10 and the end frame to 500.

-t 2

Use only two threads.


In addition to the options above, which apply to all render engines, Cycles has additional options to further control its behavior.

blender -b file.blend -f 20 -- --cycles-device CPU


Unlike the generic options, the Cycles-specific ones must be passed on the end of the command line, following a double dash.

--cycles-device CPU

Override the device that is used to render frames. Currently supported options are CPU, CUDA, OPTIX, HIP, ONEAPI, and METAL. Additionally, you can append +CPU to any GPU type for hybrid rendering.


Show detailed statistics about memory and time usage for Cycles renders on the console.