---
name: "blender"
section: "1"
platform: "linux"
package: "blender"
version: "17:5.2.3-5"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/blender"
---

# blender(1)

a full-featured 3D application

## NAME

blender - a full-featured 3D application

## SYNOPSIS

**blender \[args ...\] \[file\] \[args ...\]**\

## DESCRIPTION

**blender** is a full-featured 3D application. It supports the entirety of the 3D pipeline - modeling, rigging, animation, simulation, rendering, compositing, motion tracking, and video editing.

Use Blender to create 3D images and animations, films and commercials, content for games, architectural and industrial visualizations, and scientific visualizations.

https://www.blender.org

## OPTIONS

Usage: blender \[args ...\] \[file\] \[args ...\]\

### Render Options:

- **-b or --background**

  Run in background (often used for UI-less rendering).\

-

  The audio device is disabled in background-mode by default\
   and can be re-enabled by passing in '-setaudio Default' afterwards.\

- **-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.\

-

  You can use path templating features such as '{blend\_name}' in the path.\
   See Blender's documentation on path templates for more details.\

-

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

-

  \* 'animation\_##\_test.png' becomes 'animation\_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 animation.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 to use the system's processor count.\

### Cycles Render Options:

  Cycles add-on options must be specified following a double dash.\

- **--cycles-device \<device\>**

  Set the device used for rendering.\
   Valid options are: 'CPU' 'CUDA' 'OPTIX' 'HIP' 'ONEAPI' 'METAL'.\

-

  Append +CPU to a GPU device to render on both CPU and GPU.\

-

  Example:\
   \# blender -b file.blend -f 20 -- --cycles-device OPTIX

- **--cycles-print-stats**

  Log statistics about render memory and time usage.\

### Format Options:

- **-F or --render-format \<format\>**

  Set the render format.\
   Valid options are:\
   'TGA' 'RAWTGA' 'JPEG' 'IRIS' 'PNG' 'BMP' 'HDR' 'TIFF'.\

-

  Formats that can be compiled into Blender, not available on all systems:\
   'OPEN\_EXR' 'OPEN\_EXR\_MULTILAYER' 'FFMPEG' 'CINEON' 'DPX' 'JP2' 'WEBP'.\

- **-x or --use-extension \<bool\>**

  Set option to add the file extension to the end of the file.\

-

  ### Animation Playback Options:

- **-a \<options\> \<file(s)\>**

  Instead of showing Blender's user interface, this runs Blender as an animation player,\
   to view movies and image sequences rendered in Blender (ignored if '-b' is set).\

-

  Playback Arguments:\

-

  \-p \<sx\> \<sy\>\
  \
     Open with lower left corner at \<sx\>, \<sy\>.\
   \-m\
  \
     Read from disk (Do not buffer).\
   \-f \<fps\> \<fps\_base\>\
  \
     Specify FPS to start with.\
   \-j \<frame\>\
  \
     Set frame step to \<frame\>.\
   \-s \<frame\>\
  \
     Play from \<frame\>.\
   \-e \<frame\>\
  \
     Play until \<frame\>.\
   \-c \<cache\_memory\>\
  \
     Amount of memory in megabytes to allow for caching images during playback.\
  \
     Zero disables (clamping to a fixed number of frames instead).\

-

  ### Window Options:

- **-w or --window-border**

  Force opening with borders, in a normal (non maximized) state.\

- **-M or --window-maximized**

  Force opening maximized.\

- **-W or --window-fullscreen**

  Force opening full-screen.\

- **-p or --window-geometry \<sx\> \<sy\> \<w\> \<h\>**

  Open with lower left corner at \<sx\>, \<sy\> and width and height as \<w\>, \<h\>.\

- **-con or --start-console**

  Start with the console window open (ignored if '-b' is set), (Windows only).\

- **--no-native-pixels**

  Do not use native pixel size, for high resolution displays (MacBook 'Retina').\

- **--no-window-frame**

  Disable all window decorations (Linux only).\

- **--no-window-focus**

  Open behind other windows and without taking focus.\

-

  ### Python Options:

- **-y or --enable-autoexec**

  Enable automatic Python script execution.\

- **-Y or --disable-autoexec**

  Disable automatic Python script execution (Python-drivers & startup scripts), (default).\

-

  - **-P or --python \<filepath\>**

  Run the given Python script file.\

- **--python-text \<name\>**

  Run the given Python script text block.\

- **--python-expr \<expression\>**

  Run the given expression as a Python script.\

-

  The expression may be a complete multi-line script;\
   you are limited only by the platform's maximum argument length.\

- **--python-console**

  Run Blender with an interactive console.\

- **--python-exit-code \<code\>**

  Set the exit-code in \[0..255\] to exit if a Python exception is raised\
   (only for scripts executed from the command line), zero disables.\

- **--python-use-system-env**

  Allow Python to use system environment variables such as 'PYTHONPATH'.\
   This also enables user environment, see: '--python-use-user-env'.\

- **--python-use-user-env**

  Allow Python to use user's site-packages directory.\
   This disables full isolation for the Python environment.\

- **--addons \<addon(s)\>**

  Comma separated list (no spaces) of add-ons to enable in addition to any default add-ons.\

-

  ### Network Options:

- **--online-mode**

  Allow internet access, overriding the preference.\

- **--offline-mode**

  Disallow internet access, overriding the preference.\

-

  ### Logging Options:

- **--log \<match\>**

  Enable logging categories, taking a single comma separated argument.\

-

  \--log "\*": log everything\
   \--log "event": logs every category starting with 'event'.\
   \--log "render,cycles": log both render and cycles messages.\
   \--log "\*mesh\*": log every category containing 'mesh' sub-string.\
   \--log "\*,^operator": log everything except operators, with '^prefix' to exclude.\

- **--log-level \<level\>**

  Set the logging verbosity level.\

-

  fatal: Fatal errors only\
   error: Errors only\
   warning: Warnings\
   info: Information about devices, files, configuration, operations\
   debug: Verbose messages for developers\
   trace: Very verbose code execution tracing\

- **--log-show-memory**

  Show memory usage for each log message.\

- **--log-show-source**

  Show source file and function name in output.\

- **--log-show-backtrace**

  Show a back trace for each log message (debug builds only).\

- **--log-file \<filepath\>**

  Set a file to output the log to.\

- **--log-list-categories**

  List all available logging categories for '--log', and exit.\

-

  -

  ### Debug Options:

- **-d or --debug**

  Turn debugging on.\

-

  \* Enables memory error detection\
   \* Disables mouse grab (to interact with a debugger in some cases)\
   \* Keeps Python's 'sys.stdin' rather than setting it to None\

- **--debug-value \<value\>**

  Set debug value of \<value\> on startup.\

-

  - **--debug-events**

  Enable debug messages for the event system.\

- **--debug-handlers**

  Enable debug messages for event handling.\

- **--debug-libmv**

  Enable debug messages from libmv library.\

- **--debug-memory**

  Enable fully guarded memory allocation and debugging.\

- **--debug-jobs**

  Enable time profiling for background jobs.\

- **--debug-python**

  Enable debug messages for Python.\

- **--debug-depsgraph**

  Enable all debug messages from dependency graph.\

- **--debug-depsgraph-eval**

  Enable debug messages from dependency graph related on evaluation.\

- **--debug-depsgraph-build**

  Enable debug messages from dependency graph related on graph construction.\

- **--debug-depsgraph-tag**

  Enable debug messages from dependency graph related on tagging.\

- **--debug-depsgraph-no-threads**

  Switch dependency graph to a single threaded evaluation.\

- **--debug-depsgraph-time**

  Enable debug messages from dependency graph related on timing.\

- **--debug-depsgraph-pretty**

  Enable colors for dependency graph debug messages.\

- **--debug-depsgraph-uid**

  Verify validity of session-wide identifiers assigned to ID data-blocks.\

- **--debug-ghost**

  Enable debug messages for Ghost (Linux only).\

- **--debug-wintab**

  Enable debug messages for Wintab.\

- **--debug-gpu**

  Enable GPU debug context and information for OpenGL 4.3+.\

- **--debug-gpu-force-workarounds**

  Enable workarounds for typical GPU issues and disable all GPU extensions.\

- **--debug-gpu-compile-shaders**

  Compile all statically defined shaders to test platform compatibility.\

- **--debug-gpu-shader-debug-info**

  Enable shader debug info generation (Vulkan only).\

- **--debug-gpu-scope-capture**

  Capture the GPU commands issued inside the given scope name.\

- **--debug-gpu-shader-source**

  Save the compiled GPU shader source code for the given shader name.\
   The given name can contain leading or trailing wildcard "\*" to match multiple shaders.\
   Files are saved in the current working directory inside a directory named "Shaders".\

- **--debug-gpu-shader-no-preprocessor**

  Skip preprocessor pass and rely on driver or shader compiler preprocessor instead.\
   Also disable dead code elimination.\

- **--debug-gpu-shader-no-dce**

  Skip dead code elimination pass.\

- **--debug-gpu-no-texture-pool**

  Disable memory aliasing optimizations in the GPU texture pool.\

- **--debug-gpu-vulkan-local-read**

  Force Vulkan dynamic rendering local read when supported by device.\

- **--debug-wm**

  Enable debug messages for the window manager, shows all operators in search, shows keymap errors.\

- **--debug-xr**

  Enable debug messages for virtual reality contexts.\
   Enables the OpenXR API validation layer, (OpenXR) debug messages and general information prints.\

- **--debug-xr-time**

  Enable debug messages for virtual reality frame rendering times.\

- **--debug-all**

  Enable all debug messages.\

- **--debug-io**

  Enable debug messages for I/O.\

-

  - **--debug-fpe**

  Enable floating-point exceptions.\

- **--debug-exit-on-error**

  Immediately exit when internal errors are detected.\

- **--debug-freestyle**

  Enable debug messages for Freestyle.\

- **--console-crash-handler**

  Use the console to report crashes.\

- **--disable-crash-handler**

  Disable the crash handler.\

- **--disable-abort-handler**

  Disable the abort handler.\

- **--verbose \<verbose\>**

  Set the logging verbosity level for debug messages that support it.\

- **-q or --quiet**

  Suppress status printing (warnings & errors are still printed).\

-

  ### GPU Options:

- **--gpu-backend**

  Force to use a specific GPU backend. Valid options: 'opengl' or 'vulkan'.\

- **--gpu-device \<device\>**

  Select a specific GPU device, overriding the GPU device from user preferences for this\
   run only. Accepted forms:\

-

  \* '\<vendor-hex\>/\<device-hex\>/\<index-hex\>' (matches the identifier used in user\
  \
     preferences, with vendor PCI ID, device PCI ID and enumeration index all hex-encoded).\
   \* '\<index\>' (no slashes) picks the Nth supported device by enumeration order, decimal.\
   \* 'help' prints supported Vulkan devices and exits.\

-

  Only used with the Vulkan backend. Other backends print a warning and ignore this option.\
   If the requested Vulkan device is unavailable, Blender falls back to the saved GPU\
   preference unless '--gpu-device-no-fallback' is also set.\

- **--gpu-device-no-fallback**

  Fail instead of falling back when '--gpu-device' does not match a usable Vulkan device.\

- **--gpu-vsync**

  Set the VSync.\
   Valid options are: 'on', 'off' & 'auto' for adaptive sync.\

-

  \* The default settings depend on the GPU driver.\
   \* Disabling VSync can be useful for testing performance.\
   \* 'auto' is only supported by the OpenGL backend.\

- **--gpu-compilation-subprocesses**

  Override the Max Compilation Subprocesses setting (OpenGL only).\

- **--profile-gpu**

  Enable CPU & GPU performance profiling for GPU debug groups\
   (Outputs a profile.json file in the Trace Event Format to the current directory)\

-

  ### Misc Options:

- **--open-last**

  Open the most recently opened blend file, instead of the default startup file.\

- **--app-template \<template\>**

  Set the application template (matching the directory name), use 'default' for none.\

- **-X or --factory-startup**

  Skip reading the 'startup.blend' in the user's home directory.\

- **--enable-event-simulate**

  Enable event simulation testing feature 'bpy.types.Window.event\_simulate'.\

-

  - **--env-system-datafiles**

  Set the BLENDER\_SYSTEM\_DATAFILES environment variable.\

- **--env-system-scripts**

  Set the BLENDER\_SYSTEM\_SCRIPTS environment variable.\

- **--env-system-extensions**

  Set the BLENDER\_SYSTEM\_EXTENSIONS environment variable.\

- **--env-system-python**

  Set the BLENDER\_SYSTEM\_PYTHON environment variable.\

-

  - **-noaudio**

  Force sound system to None.\

- **-setaudio**

  Force sound system to a specific device.\
   'None' 'Default' 'SDL' 'OpenAL' 'CoreAudio' 'JACK' 'PulseAudio' 'WASAPI'.\

-

  - **-c or --command \<command\>**

  Run a command which consumes all remaining arguments.\
   Use '-c help' to list all other commands.\
   Pass '--help' after the command to see its help text.\

-

  This implies '--background' mode.\

-

  - **-h or --help**

  Print this help text and exit.\

- **/?**

  Print this help text and exit (Windows only).\

- **-r or --register**

  Register blend-file extension for current user, then exit (Windows & Linux only).\

- **--register-allusers**

  Register blend-file extension for all users, then exit (Windows & Linux only).\

- **--unregister**

  Unregister blend-file extension for current user, then exit (Windows & Linux only).\

- **--unregister-allusers**

  Unregister blend-file extension for all users, then exit (Windows & Linux only).\

- **--qos \<level\>**

  Set the Quality of Service (QoS) mode for hybrid CPU architectures (Windows only).\

-

  default: Uses the default behavior of the OS.\
   high: Always makes use of performance cores.\
   eco: Schedules Blender threads exclusively to efficiency cores.\

- **-v or --version**

  Print Blender version and exit.\

- **--**

  End option processing, following arguments passed unchanged. Access via Python's 'sys.argv'.\

-

  ### Other Options:

- **--disable-depsgraph-on-file-load**

  Background mode: Do not systematically build and evaluate ViewLayers' dependency graphs\
   when loading a blend-file in background mode ('-b' or '-c' options).\

-

  Scripts requiring evaluated data then need to explicitly ensure that\
   an evaluated depsgraph is available\
   (e.g. by calling 'depsgraph = context.evaluated\_depsgraph\_get()').\

-

  NOTE: this is a temporary option, in the future depsgraph will never be\
   automatically generated on file load in background mode.\

- **--disable-liboverride-auto-resync**

  Do not perform library override automatic resync when loading a new blend-file.\

-

  NOTE: this is an alternative way to get the same effect as when setting the\
   'No Override Auto Resync' User Preferences Debug option.\

- **--debug-ffmpeg**

  Enable debug messages from FFmpeg video input and output.\

- **--debug-cycles**

  Enable debug messages from Cycles.\

-

  ### Argument Parsing:

### Arguments must be separated by white space, eg:

  \# blender -ba test.blend\
   ...will exit since '-ba' is an unknown argument.\

### Argument Order:

### Arguments are executed in the order they are given. eg:

  \# blender --background test.blend --render-frame 1 --render-output "/tmp"\
   ...will not render to '/tmp' because '--render-frame 1' renders before the output path is set.\
   \# blender --background --render-output /tmp test.blend --render-frame 1\
   ...will not render to '/tmp' because loading the blend-file overwrites the render output that was set.\
   \# blender --background test.blend --render-output /tmp --render-frame 1\
   ...works as expected.\

## ENVIRONMENT VARIABLES

  $BLENDER\_USER\_RESOURCES  Replace default directory of all user files.\
                            Other 'BLENDER\_USER\_\*' variables override when set.\
   $BLENDER\_USER\_CONFIG     Directory for user configuration files.\
   $BLENDER\_USER\_SCRIPTS    Directory for user scripts.\
   $BLENDER\_USER\_EXTENSIONS Directory for user extensions.\
   $BLENDER\_USER\_DATAFILES  Directory for user data files (icons, translations, ..).\
\
   $BLENDER\_SYSTEM\_RESOURCES  Replace default directory of all bundled resource files.\
   $BLENDER\_SYSTEM\_SCRIPTS    Directories to add extra scripts.\
   $BLENDER\_SYSTEM\_EXTENSIONS Directory for system extensions repository.\
   $BLENDER\_SYSTEM\_DATAFILES  Directory to replace bundled datafiles.\
   $BLENDER\_SYSTEM\_PYTHON     Directory to replace bundled Python libraries.\
   $BLENDER\_CUSTOM\_SPLASH     Full path to an image that replaces the splash screen.\
   $BLENDER\_CUSTOM\_SPLASH\_BANNER Full path to an image to overlay on the splash screen.\
   $BLENDER\_OCIO              Path to override the OpenColorIO configuration file.\
                              If not set, the 'OCIO' environment variable is used.\
   $SPNAV\_SOCKET              The socket path to connect to the 3D-mouse daemon (Unix only).\
   $TMPDIR                    Store temporary files here (UNIX Systems).\
                              The path must reference an existing directory or it will be ignored.\

## SEE ALSO

**luxrender(1)**

## AUTHORS

This manpage was written for a Debian GNU/Linux system by Daniel Mester \<mester@uni-bremen.de\> and updated by Cyril Brulebois \<cyril.brulebois@enst-bretagne.fr\> and Dan Eicher \<dan@trollwerks.org\>.
