TerraVisual is a free Terraform visualizer for people learning Infrastructure as Code. You
write HCL, or import an existing project, and the infrastructure it describes is drawn as
a diagram that redraws as the code changes. Resources appear inside the containers they
belong to (provider, region, network, subnet), so you can see what a configuration builds
before you ever run terraform plan.
It is made for students, engineers picking up Terraform for the first time, and anyone reviewing a configuration who would rather see its shape than read it line by line. Click a box in the diagram to jump to the code that declares it, or move the cursor in the code and the diagram selects what you are editing. An outline lists the same infrastructure as a tree you can navigate with the keyboard or a screen reader.
Type into the editor, start from one of the examples, or import a folder of
.tf and .tfvars files. Nothing to install, no account to
create.
Every change is analyzed as you type, with HashiCorp's own HCL parser. Variables,
locals, functions, conditionals, count, for_each and local
modules are evaluated.
Copy a link that carries the whole workspace inside the URL, or save the diagram as a PNG. Your work is also kept in this browser between visits.
AWS, Azure and Google Cloud are covered at comparable depth, through a catalog that knows which resources live inside which:
A resource type the catalog does not know is still drawn, marked as uncatalogued, so a real project never looks empty and never looks more complete than it is.
The analyzer is written in Go and compiled to WebAssembly, so parsing, evaluation and drawing all happen on this page. There is no backend, database or account, and the page's Content Security Policy only lets it talk to its own origin. Real Terraform, with its bucket names, internal CIDR ranges and account identifiers, is safe to open here.
.tfvars files, locals, outputs, conditionals,
count, for_each, local modules and over 80 built-in functions.
Remote modules, data sources that need a provider, and
terraform plan output are not. A value that cannot be known without cloud
credentials is shown as unknown, with the reason, never guessed.