blob: 199166bb780f428dab517b14264b7f5d37624887 [file] [log] [blame]
---
page_title: Syntax Overview - Configuration Language
description: >-
Terraform language syntax for both the native and JSON variants. Also learn
formatting conventions that you can enforce with terraform fmt.
---
# Syntax
The majority of the Terraform 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 Terraform language.
- [Configuration Syntax](/terraform/language/syntax/configuration) describes the native
grammar of the Terraform language.
- [JSON Configuration Syntax](/terraform/language/syntax/json) documents
how to represent Terraform language constructs in the pure JSON variant of the
Terraform language. Terraform'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](/terraform/language/syntax/style) documents some commonly
accepted formatting guidelines for Terraform code. These conventions can be
enforced automatically with [`terraform fmt`](/terraform/cli/commands/fmt).