Terraform HCL Formatter
Format and validate Terraform HCL like terraform fmt — right in your browser. Aligns = signs, normalizes indentation, validates syntax, detects deprecated patterns, and extracts variable skeletons.
Formatted HCL will appear here… Frequently Asked Questions
What is HCL and why does formatting matter?▼
HCL (HashiCorp Configuration Language) is the declarative language used by Terraform to define infrastructure. Consistent formatting makes diffs smaller in code review, reduces merge conflicts, and makes large configs easier to navigate. The official terraform fmt command enforces a canonical style, and this tool applies the same rules in your browser.
What does terraform fmt actually do?▼
terraform fmt reformats HCL files to canonical style: 2-space indentation, aligned = signs within blocks, normalized blank lines, and consistent brace placement. It does not change logic — only whitespace and alignment. You should run it as a pre-commit hook or in CI to keep your codebase consistent.
Should I sort attributes alphabetically?▼
Alphabetical sorting is optional and depends on team preference. It makes it easier to find attributes in large blocks and reduces the chance of duplicate keys, but it can make logically-related attributes (like ingress/egress rules) feel disconnected. This formatter lets you toggle it on or off.
What Terraform block types are supported?▼
This formatter recognises terraform, provider, resource, data, variable, output, locals, module, and moved blocks. Each block is parsed individually so indentation and alignment are correctly scoped to their own block level.
What does the 'Extract Variables' button do?▼
It scans your HCL for every var.xxx reference and generates a variables.tf skeleton with an empty variable block for each unique variable name. This is handy when you've written a module and need to declare all its input variables quickly.
What are the deprecated 0.11-style patterns this tool detects?▼
Terraform 0.12 introduced first-class expressions. Common 0.11 patterns that still work but are discouraged include: string-wrapping references like "${var.name}" (should be just var.name), and list() / map() constructor functions that were replaced by literal syntax. This tool flags them so you can modernise your configs.
Related Products
on GumroadPremium Workflow Pack
Production-grade workflows, architecture guides, and deployment scripts for teams that ship. 10 advanced CI/CD workflows (blue-green, canary, E2E, security), 5 architecture deep-dives, code review checklist, PR process guide, and 5 battle-tested Bash deployment scripts.
Buy on Gumroad →GitHub Actions CI/CD Templates Pack
12 production-ready GitHub Actions workflow templates covering Node.js, Python, Docker, multi-environment deployments, security scanning, and auto-changelog. Copy, paste, ship.
Buy on Gumroad →Developer Productivity Bundle
Stop rebuilding the same setup every project. 51 VSCode snippets, 40 Git aliases, 5 Docker Compose stacks, 5 GitHub Actions workflows, 5 README templates, and a dotfiles kit. Set up a professional dev environment in under an hour.
Buy on Gumroad →You Might Also Need
Terraform Variable Validator
Validate your Terraform variables.tf online. Catches missing type constraints, undocumented variables, unmasked secrets, and type/default mismatches. Runs 100% in your browser.
Open free tool →
Terraform Variable Builder
Build Terraform variable declarations for variables.tf with a visual form. Set type, default value, description, sensitivity, and validation rules.
Open free tool →
AWS CDK Infrastructure as Code Guide
Complete AWS CDK guide for TypeScript/Python IaC. Learn constructs (L1/L2/L3), stacks, CDK Pipelines, diff/deploy workflow, and comparison with Terraform and CloudFormation.
Open free tool →
More Free Tools
Related Articles
Terraform vs Pulumi 2026: Infrastructure as Code Comparison with Code Examples
Complete Terraform vs Pulumi comparison for 2026 — syntax, state management, multi-cloud support, testing, pricing, and when to choose each IaC tool.
Pulumi vs Terraform 2026: Which IaC Tool Should You Choose?
A deep comparison of Pulumi and Terraform for infrastructure as code in 2026. Covers syntax, state management, provider ecosystem, team adoption, and when to choose each tool.
Terraform vs Pulumi vs AWS CDK: Infrastructure as Code Comparison 2026
Complete comparison of Terraform, Pulumi, and AWS CDK for infrastructure as code in 2026. Covers language support, state management, learning curve, ecosystem, cloud support, pricing, and when to use each tool.
AWS CDK vs Terraform vs Pulumi: Infrastructure as Code Comparison 2026
Complete comparison of AWS CDK, Terraform, and Pulumi for infrastructure as code in 2026 — language support, state management, multi-cloud, community, and when to use each.
Terraform Infrastructure as Code: Complete 2024 Guide
Master Terraform for infrastructure as code. Learn HCL syntax, providers, state management, modules, and best practices to automate your cloud infrastructure.
Enjoying this tool? Get more like it.
Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.
Unlock AI-Powered Dev Tools
- ⚡ AI Code Review, Doc Generator & SQL Builder
- ⚡ All premium templates & early access
- ⚡ Member discounts on Gumroad products
$9/mo after trial · Cancel anytime
Want the full toolkit?
Get DevPlaybook Pro
Every template, guide, boilerplate, and automation script in one bundle. 13 premium products — grab them all at once and save big.
MIT licensed · Instant download · No subscription
See what's included → Browse all deals →