Developer tools
HCL to JSON
Convert common Terraform-style HCL attributes and blocks into JSON. Nothing you enter leaves your browser.
Your result will appear here.
What this tool does
About the HCL to JSON
This converter transforms supported hcl input into JSON. Review the supported scope below, especially when the target format cannot represent all source features.
It is intended for development and debugging workflows where a small, inspectable transformation is faster than setting up a script.
How to use it
- Paste HCL in the input pane. Use the example button if you want to see the expected syntax.
- Review the input for the structure shown in the example. Then select “Convert to JSON.”
- Inspect the result for warnings or structural differences, then copy it into the destination system.
Practical example
Start with a known input
Try this sample input:
variable "region" {
default = "us-east-1"
}
enabled = true
Select “Convert to JSON” and compare the result with the source before using it elsewhere. What to know about the result
- Numbers that cannot be represented safely are rejected. Keep large IDs and high-precision decimals in quotes.
- Supports literal assignments and blocks with up to two labels on separate lines. Expressions, interpolation, heredocs, repeated blocks, and general Terraform evaluation are not supported.
- JSON preserves nested objects, arrays, numbers, booleans, and null values, but it requires quoted property names and does not allow comments.
- Processing happens in this browser. Your entered text and selected files are not sent to FormatCalc for conversion.
Common questions
Using the HCL to JSON
Is the HCL to JSON free to use?
Yes. FormatCalc's HCL to JSON is free to use with no account required.
Is my data private when I use the HCL to JSON?
Yes. This tool processes your input locally in your browser. FormatCalc does not upload or store what you enter.
How do I use the HCL to JSON?
Paste or type your input, select any available options, and choose Convert to JSON. You can then copy the result.
What should I check before using the result?
Numbers that cannot be represented safely are rejected. Keep large IDs and high-precision decimals in quotes. Supports literal assignments and blocks with up to two labels on separate lines. Expressions, interpolation, heredocs, repeated blocks, and general Terraform evaluation are not supported. JSON preserves nested objects, arrays, numbers, booleans, and null values, but it requires quoted property names and does not allow comments. Processing happens in this browser. Your entered text and selected files are not sent to FormatCalc for conversion.