Blender’s Directory Layout#

This page documents the different directories used by Blender (which can be helpful for troubleshooting).

There are three different directories Blender may use, their exact locations are platform dependent.


Location of configuration and run-time data (for self-contained bundle).


Location of configuration files (typically in the user’s home directory).


Location of run-time data for system wide installation (may be read-only).

For system installations both SYSTEM and USER directories are needed.

For locally extracted Blender distributions, the user configuration and run-time data are kept in the same subdirectory, allowing multiple Blender versions to run without conflict, ignoring the USER and SYSTEM files. This requires you to create a folder named config in the LOCAL directory.

Platform Dependent Paths#

Here are the default locations for each system:




The path ./4.1/ is relative to the Blender executable and is used for self-contained bundles distributed by official builds.


The USER path will use $XDG_CONFIG_HOME if it is set:



/Users/$USER/Library/Application Support/Blender/4.1/
/Library/Application Support/Blender/4.1/


macOS stores the Blender binary in ./ The local path to data and config is:



%USERPROFILE%\AppData\Roaming\Blender Foundation\Blender\4.1\
%USERPROFILE%\AppData\Roaming\Blender Foundation\Blender\4.1\


For installations from the Window’s Store, the USER and SYSTEM directories are inside a special folder resembling:


Where “HASH” is a string specific to each installation.

Path Layout#

This is the path layout which is used within the directories described above.

Where ./config/startup.blend could be ~/.blender/|BLENDER_VERSION|/config/startup.blend for example.

./autosave/ ...

Autosave blend-file location. (Windows only, temp directory used for other systems.)

Search order: LOCAL, USER.

./config/ ...

Defaults & session info.

Search order: LOCAL, USER.


Default file to load on startup.


Default preferences to load on startup.


File Browser bookmarks.


Recent file menu list.

./datafiles/ ...

Runtime files.

Search order: LOCAL, USER, SYSTEM.


Static precompiled language files for UI translation.

./scripts/ ...

Python scripts for the user interface and tools.

Search order: LOCAL, USER, SYSTEM.


Python add-ons which may be enabled in the Preferences include import/export format support, render engine integration and many handy utilities.


Modules for add-ons to use (added to Python’s sys.path).


Another add-ons directory which is used for community maintained add-ons (must be manually created).


Modules for addons_contrib to use (added to Python’s sys.path).


Python modules containing our core API and utility functions for other scripts to import (added to Python’s sys.path).


Scripts which are automatically imported on startup.


Presets used for storing user-defined settings for cloth, render formats, etc.


Example scripts which can be accessed from Text Editor ‣ Templates ‣ Python.


Example OSL shaders which can be accessed from Text Editor ‣ Templates ‣ Open Shading Language.

./python/ ...

Bundled Python distribution.

Search order: LOCAL, SYSTEM.

Local Cache Directory#

The cache directory is used to store persistent caches locally. Currently it is only used for the indexing of Asset Libraries. The operating system is not expected to clear this automatically.

The following path will be used:

  • Linux:

    $XDG_CACHE_HOME/blender/ if $XDG_CACHE_HOME is set, otherwise $HOME/.cache/blender/

  • macOS:


  • Windows:

    %USERPROFILE%\AppData\Local\Blender Foundation\Blender\Cache\

Temporary Directory#

The temporary directory is used to store various files at run-time (including render layers, physics cache, copy-paste buffer and crash logs).

The temporary directory is selected based on the following priority:

  • User Preference (see File Paths).

  • Environment variables (TEMP on Windows, TMP & TMP_DIR on other platforms).

  • The /tmp/ directory.

Overriding Default Directories#

It’s possible to override the default USER and SYSTEM directories using environment variables.

While this shouldn’t be needed for typical usage, some specialized use cases may take advantage of this, such as:

  • Using a shared network drives for specific paths.

  • Isolating an instance from the default user files to prevent automated tasks from accessing user configuration.

See Environment Variables for details.