Blend file structure documentation

Hi all!

My first post here. Does anyone have an documentation on the .blend file format? Is this the right place to ask this question?

Secondly, where would be the docs, if any, for creating new or modifying existing material/procedural nodes?

thanks in advance,



Thank you kindly Sir!


This link:

Does not mention the .blend file format. Am I missing something here?


For blend file format, see:

  • Blender’s C code for reading the file format:
  • A Python only blend file parser:

As for materials/procedural nodes, You don’t state if this is for eevee / cycles.

Check the commit history on files that define nodes/procedural textures.

It would help to give some more details on what you’re doing since file format and textures are general areas - more detailed answer depend on what you’re doing exactly.

Thank you so much for your help!

For the nodes it would be for cycles I guess. I am really just interested in the noise types and other procedure generation. not really the materials. I want to understand how these work so that I can use them in games for procedural world generation.

I will be happy to put together some docs on the .blend file structure if you think the community would be interested.

FYI, my coding is in C++. I don’t know python and honestly have no interest in learning it.


Suggest to try tweaking/adjusting the existing noise implementations in Cycles as a start.

I’m not a Cycles developer, so others here may have more detailed suggestions.

Have you tried to get in touch with OmarSquircleArt ? That’s the guy that added the new nodes in GSOC.