Terraform Plan JSON Explorer

Paste plan JSON or load a local file to examine proposed resource changes. This view reads the plan without running Terraform or applying infrastructure changes.

Runs locally in your browser
This tool processes all data locally in your browser.
Terraform JSON output can contain sensitive values in plain text. It stays in this browser, but use a trusted device and remove secrets before sharing.
Terraform plan JSONPaste output from terraform show -json plan.tfplan.

This is a read-only review. It never runs Terraform, loads providers, or contacts your cloud account.

Resource changes
No resource changes to display yet.

How to read a Terraform plan before apply

Paste the document produced by terraform show -json plan.tfplan, or open the file from disk, and press Analyze plan. Every entry of resource_changes becomes a row: action, address, type, provider and the top-level attributes that differ between before and after.

The plan is parsed in this browser. Nothing is uploaded, no provider is downloaded and Terraform is never executed, so the review also works offline once the page has loaded.

  1. Paste the output of terraform show -json plan.tfplan into the input box, or read a local .json file.
  2. Press Analyze plan — a file that was just loaded is analysed straight away.
  3. Check the summary: total resources, one count per action, and the number of unknown-value and sensitive markers.
  4. Read the findings before the table: deletions and replacements are called out first.
  5. Use Copy to move the report into a ticket or change request; Clear empties the input, the table and the report.

Actions, markers and limits

What the explorer reads

The tool walks the resource_changes array. Each entry becomes one row: action, address, type, provider — the registry.terraform.io/ and registry.opentofu.org/ prefixes are dropped — and the changed field names. format_version and terraform_version are repeated in the copyable report.

Other parts of the same document are not displayed: resource_drift, output_changes, prior_state, planned_values and the configuration snapshot are ignored. A data source that is only re-read is shown as read; a resource that stays untouched is shown as no-op.

Actions, unknown values and sensitive markers

Actions are normalised to create, read, update, delete, replace and no-op, where a delete plus create pair counts as a replacement. Every category is counted in the summary, so the action numbers add up to the resource count.

Unknown values are the true leaves inside after_unknown; sensitive markers are the true leaves inside after_sensitive and before_sensitive, nested objects included. A marker means Terraform is not showing that value in the plan — the tool does not mask the JSON you paste, so treat the input itself as confidential.

Changed fields, size and limits

The changed-field column lists top-level attribute names only: a change inside tags appears as tags, not as each tag. Eight names are shown and the cell states how many are hidden, so a wide diff never looks complete when it is not.

A 2,000-resource plan is analysed in roughly 0.3 s in a desktop browser and every resource is listed. The tool reports only what the plan contains: it does not fetch configuration, does not consult provider schemas and cannot tell whether the plan will apply without errors.

Recent tools: