Environment Config Diff Visualizer

Compare dev, staging, and production configuration bundles across JSON, YAML, TOML, or ENV formats and highlight drift, missing keys, and cleanup suggestions

Paste multiple config blocks into "Configuration Bundle" and separate them with headers in the form of === environment-name (format) ===.

Supported header examples:

  • === dev (json) ===
  • === staging (yaml) ===
  • === prod (toml) ===
  • === worker (env) ===

Supported formats:

  • JSON: use a normal JSON object such as {"PORT":3000,"feature":{"beta":true}}
  • YAML: use indented key/value pairs such as PORT: 3000 and feature:
    beta: true
  • TOML: use key/value syntax such as port = 3000 with tables like [feature]
  • ENV: use dotenv style lines such as PORT=3000 and API_URL=https://api.example.com

Tips:

  • Add at least two blocks so the diff can compare environments.
  • Keep the same logical keys across environments when possible.
  • Secret-like keys are masked by default when "Mask Secret Values" is enabled.
  • Arrays and nested objects are flattened into dot-path keys in the report, for example database.host or services[0].url.

Example Results

1 examples

Compare dev, staging, and production feature flags

Highlight keys that exist in only one environment and find values that drift before a release.

Configuration diff report
View input parameters
{ "configBundle": "=== dev (yaml) ===\nFEATURE_X: true\nAPI_URL: https://dev.example.com\n\n=== prod (env) ===\nFEATURE_X=false\nAPI_URL=https://api.example.com", "maskSecrets": true, "showTree": true }

Key Facts

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

Overview

The Environment Config Diff Visualizer is a developer tool designed to compare configuration bundles across multiple environments like development, staging, and production. By pasting JSON, YAML, TOML, or ENV blocks separated by custom headers, you can instantly identify configuration drift, spot missing keys, and receive cleanup suggestions. It automatically flattens nested structures into dot-path keys and offers built-in secret masking to keep sensitive data secure during analysis.

When to Use

  • When preparing for a production deployment to ensure all required environment variables and feature flags match the staging environment.
  • When auditing legacy applications to identify unused, deprecated, or drifting configuration keys across multiple servers.
  • When migrating configurations between different formats (e.g., moving from JSON to YAML) and verifying that no key-value pairs are lost.

How It Works

  • Paste your configuration blocks into the text area, separating each environment with a header like === prod (env) === or === dev (yaml) ===.
  • Toggle options to mask secret values, ignore letter case, or display the results in a hierarchical tree view.
  • The tool parses the different formats, flattens nested objects into dot-path keys (e.g., database.host), and generates a visual HTML report.
  • Review the generated diff report to spot missing keys, mismatched values, and configuration drift across all provided environments.

Use Cases

Comparing local .env files against production Kubernetes ConfigMaps to catch missing variables before deployment.
Standardizing configuration structures across microservices by identifying inconsistent key naming conventions.
Reviewing feature flag toggles across dev, staging, and prod to ensure experimental features are not accidentally enabled in production.

Examples

1. Pre-deployment Environment Check

DevOps Engineer
Background
A DevOps engineer is preparing to release a new microservice version to production but wants to ensure the production environment variables match the staging setup.
Problem
Manually comparing hundreds of lines of .env files is error-prone and risks a production outage due to missing keys.
How to Use
Paste the staging and production .env contents into the Configuration Bundle field, separated by === staging (env) === and === prod (env) === headers. Enable 'Mask Secret Values'.
Example Config
Mask Secret Values: true, Show Tree View: true
Outcome
The visualizer highlights that STRIPE_WEBHOOK_SECRET is missing in the production block, allowing the engineer to add it before deploying.

2. Migrating JSON to YAML

Backend Developer
Background
A developer is migrating an older Node.js application's configuration from a nested JSON file to a cleaner YAML format.
Problem
Need to verify that the newly written YAML file contains the exact same configuration keys and values as the legacy JSON file.
How to Use
Input the old JSON config under === legacy (json) === and the new YAML config under === new (yaml) ===. Check the diff report for any missing or mismatched dot-path keys.
Example Config
Ignore Letter Case: false, Show Tree View: true
Outcome
The tool flattens both formats and reveals a typo in the YAML file where database.port was mistakenly written as db.port.

Try with Samples

json, yaml, barcode

Related Hubs

FAQ

What configuration formats are supported?

The tool supports JSON, YAML, TOML, and ENV formats. You can mix and match formats across different environments in the same comparison.

How do I separate different environments in the input?

Use a header format like === environment-name (format) === before each block, such as === dev (json) === or === prod (env) ===.

Are my API keys and passwords safe?

Yes. By default, the 'Mask Secret Values' option is enabled, which automatically hides the values of secret-like keys (e.g., tokens, passwords) in the output report.

How does the tool handle nested JSON or YAML objects?

Nested objects and arrays are flattened into dot-path keys, such as services[0].url or database.credentials.user, making it easy to compare deep structures.

Can I compare more than two environments at once?

Yes, you can paste as many environment blocks as you need. The visualizer will compare all of them side-by-side to highlight drift across your entire infrastructure.

API Documentation

Request Endpoint

POST /en/api/tools/environment-config-diff-visualizer

Request Parameters

Parameter Name Type Required Description
configBundle textarea Yes -
maskSecrets checkbox No -
ignoreCase checkbox No -
showTree checkbox No -

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-environment-config-diff-visualizer": {
      "name": "environment-config-diff-visualizer",
      "description": "Compare dev, staging, and production configuration bundles across JSON, YAML, TOML, or ENV formats and highlight drift, missing keys, and cleanup suggestions",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=environment-config-diff-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.

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