Skip to main content


The majority of the OpenTofu language documentation focuses on the practical uses of the language and the specific constructs it uses. The pages in this section offer a more abstract view of the OpenTofu language.

  • Configuration Syntax describes the native grammar of the OpenTofu language.
  • JSON Configuration Syntax documents how to represent OpenTofu language constructs in the pure JSON variant of the OpenTofu language. OpenTofu's JSON syntax is unfriendly to humans, but can be very useful when generating infrastructure as code with other systems that don't have a readily available HCL library.
  • Style Conventions documents some commonly accepted formatting guidelines for OpenTofu code. These conventions can be enforced automatically with tofu fmt.