jarvisbox

Kubernetes Manifest Diff

Kubernetes manifests are multi-document YAML files where each document is a distinct resource identified by its kind and metadata.name. A naive text diff treats position as identity — if you add a new Deployment before an existing one, every resource appears to have changed. A semantic Kubernetes diff matches resources by their kind+name key, so position changes are invisible and only real configuration changes appear.

This tool implements that semantic matching. Paste the current state of your manifest bundle into Before and the proposed update into After. Resources are automatically keyed by their kind/metadata.name pair. You get a clear report: which resources were added, which were removed, and for changed resources, exactly which fields changed and what the old and new values are.

The base64 decode option is especially useful for ConfigMap and Secret resources — instead of seeing opaque base64 blobs, you see the decoded values (connection strings, certificate PEM blocks, configuration files) so you can verify the actual content that will be applied to the cluster.

Open YAML Semantic Diff →

How to use

  1. Paste your original YAML (Helm values, K8s manifests, or any multi-document stream) into the Before box.
  2. Paste the updated version into the After box. Enable Key docs by kind+name for Kubernetes streams.
  3. Click Compare to see the semantic diff, then use Copy as kubectl patch to export a merge patch.

Related tools

Report a problem with this tool