--- description: | The `packer fmt` Packer command formats HCL2 configuration files to a canonical format and style to help you prevent coding errors. page_title: packer fmt command reference --- # `packer fmt` command reference The `packer fmt` Packer command is used to format HCL2 configuration files to a canonical format and style. JSON files (.json) are not modified. This command applies a subset of HCL language style conventions, along with other minor adjustments for readability. `packer fmt` will display the name of the configuration file(s) that need formatting, and write any formatted changes back to the original configuration file(s). Example usage: Check if configuration file(s) need to be formatted, but don't write the changes. ```shell-session $ packer fmt -check . my-template.pkr.hcl ``` Format a configuration file, writing the changes back to the original file. ```shell-session $ packer fmt my-template.pkr.hcl my-template.pkr.hcl ``` Format a configuration file, reading from stdin and writing to stdout. ```shell-session $ packer fmt - // You can use pipes to combine this feature with other command line options $ cat my-template.pkr.hcl | packer fmt - ``` ## Options - `-check` - Checks if the input is formatted. Exit status will be 0 if all input is properly formatted and non-zero otherwise. - `-diff` - Display diffs of any formatting change - `-write=false` - Don't write formatting changes to source files (always disabled if using -check) - `-` - read formatting changes from stdin and write them to stdout. - `-recursive` Also process files in subdirectories. By default, only the given directory (or current directory) is processed.