Terraform Plan Visualizer

Parse Terraform plan JSON or text output, classify resource changes, and surface a dependency-oriented summary before apply

Paste a Terraform plan JSON payload from "terraform show -json" or a plain-text plan output. The visualizer classifies resources by create, update, delete, replace, read, and no-op, then summarizes the impact by provider and resource dependency.

How to use it:

  • Terraform Plan Input: paste raw plan JSON or plan text
  • Plan File: upload a saved plan file instead of pasting
  • Input Format: choose auto when the tool should detect JSON vs text
  • Show Dependency Graph: render a lightweight graph for the first parsed dependency edges

Best results come from Terraform JSON because it includes resource metadata, dependency edges, and cleaner action labels than plain text plans.

Example Results

1 examples

Review an apply that adds VPC resources and updates policies

Use a Terraform JSON plan to see which resources are new, which ones will be replaced, and which providers dominate the change set.

Terraform Plan Summary
View input parameters
{ "planInput": "{\n \"format_version\": \"1.2\",\n \"resource_changes\": [\n {\n \"address\": \"aws_vpc.main\",\n \"mode\": \"managed\",\n \"type\": \"aws_vpc\",\n \"name\": \"main\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"change\": {\n \"actions\": [\n \"create\"\n ]\n }\n },\n {\n \"address\": \"aws_subnet.app\",\n \"mode\": \"managed\",\n \"type\": \"aws_subnet\",\n \"name\": \"app\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"change\": {\n \"actions\": [\n \"create\"\n ]\n }\n },\n {\n \"address\": \"aws_iam_policy.read\",\n \"mode\": \"managed\",\n \"type\": \"aws_iam_policy\",\n \"name\": \"read\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"change\": {\n \"actions\": [\n \"update\"\n ]\n }\n },\n {\n \"address\": \"aws_security_group.web\",\n \"mode\": \"managed\",\n \"type\": \"aws_security_group\",\n \"name\": \"web\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"change\": {\n \"actions\": [\n \"delete\",\n \"create\"\n ]\n }\n }\n ],\n \"configuration\": {\n \"root_module\": {\n \"resources\": [\n {\n \"address\": \"aws_vpc.main\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"depends_on\": []\n },\n {\n \"address\": \"aws_subnet.app\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"depends_on\": [\n \"aws_vpc.main\"\n ]\n },\n {\n \"address\": \"aws_iam_policy.read\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"depends_on\": [\n \"aws_vpc.main\"\n ]\n },\n {\n \"address\": \"aws_security_group.web\",\n \"provider_name\": \"provider[\\\"registry.terraform.io/hashicorp/aws\\\"]\",\n \"depends_on\": [\n \"aws_vpc.main\",\n \"aws_subnet.app\"\n ]\n }\n ]\n }\n }\n}", "planFile": "", "inputFormat": "json", "showDependencyGraph": true }

Click to upload file or drag and drop file here

Maximum file size: 15MB Supported formats: application/json, text/plain, application/octet-stream, .json, .txt

Key Facts

Category
Developer & Web
Input Types
textarea, file, select, checkbox
Output Type
html
Sample Coverage
4
API Ready
Yes

Overview

The Terraform Plan Visualizer is a developer utility that parses raw Terraform plan outputs—either in JSON or plain text—and transforms them into an easy-to-read HTML summary. By classifying resource changes into distinct actions like create, update, delete, and replace, and rendering a lightweight dependency graph, this tool helps DevOps engineers quickly assess infrastructure impact before executing an apply.

When to Use

  • Reviewing complex infrastructure changes before running terraform apply to prevent unintended resource deletions or replacements.
  • Auditing pull requests where infrastructure-as-code (IaC) modifications require a clear, visual summary of provider and resource impacts.
  • Troubleshooting dependency issues by visualizing the execution order and relationships between newly created or modified resources.

How It Works

  • Paste your raw Terraform plan text or the JSON payload generated by 'terraform show -json' into the input field, or upload a saved plan file.
  • Select the input format (Auto, JSON, or Text) and toggle the dependency graph option based on your review needs.
  • The tool parses the payload, categorizes every resource change (create, update, delete, replace, read, no-op), and maps out provider dependencies.
  • Review the generated HTML summary and dependency graph to safely verify your infrastructure modifications.

Use Cases

Visualizing large-scale Terraform state changes to quickly spot destructive actions like resource replacements.
Generating a readable infrastructure change summary for team code reviews and change advisory board (CAB) approvals.
Mapping out AWS, Azure, or GCP provider dependencies to understand the execution order of a complex Terraform module.

Examples

1. Reviewing a VPC and Security Group Deployment

DevOps Engineer
Background
A DevOps engineer is adding a new AWS VPC, subnets, and security groups, while updating an IAM policy.
Problem
Reading the raw JSON output of the plan is difficult and makes it hard to verify if the security group depends on the correct VPC.
How to Use
Paste the 'terraform show -json' output into the Terraform Plan Input field and ensure Show Dependency Graph is checked.
Example Config
Input Format: JSON, Show Dependency Graph: True
Outcome
The tool generates an HTML summary showing the VPC and subnet as 'create', the IAM policy as 'update', and displays a graph confirming the security group depends on both the VPC and subnet.

2. Auditing a Plain Text Plan File

Cloud Architect
Background
A cloud architect receives a standard text output of a Terraform plan from a junior developer for review.
Problem
The plan is hundreds of lines long, making it tedious to manually count how many resources are being deleted or replaced.
How to Use
Upload the .txt plan file using the Plan File input and set the Input Format to Text.
Example Config
Input Format: Text, Show Dependency Graph: False
Outcome
The visualizer instantly categorizes the text output, providing a clean summary of all create, update, delete, and replace actions grouped by provider.

Try with Samples

json, text, file

Related Hubs

FAQ

How do I generate a Terraform plan JSON?

Run 'terraform plan -out=tfplan' followed by 'terraform show -json tfplan' to generate the structured JSON payload recommended for this tool.

Does this tool support plain text plan outputs?

Yes, you can paste standard plain text plan outputs. However, JSON format is recommended as it provides richer metadata and cleaner dependency edges.

What resource actions are classified by the visualizer?

The tool categorizes resource changes into create, update, delete, replace, read, and no-op actions.

What is the Show Dependency Graph feature?

It renders a lightweight visual graph of the first parsed dependency edges, helping you understand the order and relationship of resource changes.

Can I upload a file instead of pasting the plan?

Yes, you can use the Plan File option to upload a saved .json or .txt file up to 15MB in size.

API Documentation

Request Endpoint

POST /en/api/tools/terraform-plan-visualizer

Request Parameters

Parameter Name Type Required Description
planInput textarea No -
planFile file (Upload required) No -
inputFormat select No -
showDependencyGraph checkbox No -

File type parameters need to be uploaded first via POST /upload/terraform-plan-visualizer to get filePath, then pass filePath to the corresponding file field.

Response Format

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

AI MCP Documentation

Add this tool to your MCP server configuration:

{
  "mcpServers": {
    "elysiatools-terraform-plan-visualizer": {
      "name": "terraform-plan-visualizer",
      "description": "Parse Terraform plan JSON or text output, classify resource changes, and surface a dependency-oriented summary before apply",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=terraform-plan-visualizer",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

You can chain multiple tools, e.g.: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, max 20 tools.

Supports URL file links or Base64 encoding for file parameters.

If you encounter any issues, please contact us at [email protected]