Compare Kubernetes YAML Online

Paste two Kubernetes manifests. See what was added, removed, or changed — line by line with word-level highlights.

🔒 100% private — runs entirely in your browser

or try sample data

What is Kubernetes YAML Diff?

Kubernetes YAML Diff compares two Kubernetes manifest files and shows you exactly which lines were added, removed, or modified. Whether you're reviewing Deployment changes, comparing Helm values, or auditing ConfigMap updates, this tool gives you a clear, color-coded view of every difference.

Kubernetes manifests define your entire infrastructure — replicas, images, resource limits, environment variables, and more. A small change like updating a container image tag or adjusting memory limits can have major production impact. Comparing manifests visually before applying them catches issues that kubectl diff might not surface clearly.

Paste your YAML manifests from any source — kubectl get -o yaml, Helm templates, Kustomize overlays, or raw files. The tool handles single and multi-document YAML. Use "Ignore whitespace" to skip indentation differences. Everything runs in your browser — your cluster configs stay private.

Kubernetes YAML Comparison — Common Scenarios

Comparing Deployment versions

# Get current deployment YAML
kubectl get deployment web-app -o yaml > current.yaml # After editing, compare before applying:
# - Image tag: 1.0.0 → 2.0.0
# - Replicas: 2 → 3
# - Memory limit: 256Mi → 512Mi
# - New readinessProbe added # Paste both into the diff tool to review
# all changes before running kubectl apply

Always review manifest diffs before kubectl apply. The visual diff catches resource limit changes, image updates, and new probes at a glance.

Helm values.yaml comparison

# values.yaml (staging)
replicaCount: 1
image: tag: "latest"
resources: limits: memory: 128Mi # values.yaml (production)
replicaCount: 3
image: tag: "v2.1.0"
resources: limits: memory: 512Mi
autoscaling: enabled: true maxReplicas: 10

Compare Helm values across environments to ensure production has proper scaling, pinned image tags, and adequate resources.

ConfigMap data changes

apiVersion: v1
kind: ConfigMap
metadata: name: app-config
data: DATABASE_HOST: "db.staging.internal" CACHE_TTL: "300" LOG_FORMAT: "json" # vs production ConfigMap with different values
# and additional keys

ConfigMap diffs reveal environment-specific settings and missing configuration keys between clusters.

Kubernetes YAML Comparison Gotchas

YAML indentation is significant

Unlike JSON, YAML uses indentation to define structure. A line indented by 2 spaces vs 4 spaces can mean the difference between a nested field and a sibling. Be careful with the "Ignore whitespace" option — it may hide meaningful structural changes in YAML.

Generated fields in kubectl output

When you export manifests with kubectl get -o yaml, Kubernetes adds generated fields like metadata.uid, metadata.resourceVersion, status, and metadata.creationTimestamp. These will always differ between exports. Focus on spec changes rather than metadata noise.

Multi-document YAML separators

Kubernetes manifests often contain multiple resources separated by ---. The diff tool preserves these separators. If resources are reordered between files, they'll appear as large blocks of removed + added lines rather than matched pairs.

Frequently Asked Questions

How do I compare two Kubernetes manifests?

Paste your YAML manifests into the two panels and click Compare. The tool shows a side-by-side diff with line-by-line comparison and word-level highlighting for modified lines.

Can I compare Helm values files?

Yes. Any YAML file works — Helm values.yaml, kustomization.yaml, Chart.yaml, and raw Kubernetes manifests. The tool performs text-based comparison on any YAML content.

How do I handle kubectl output noise?

Manifests exported with kubectl get -o yaml include generated fields (uid, resourceVersion, status). You can either manually trim these before comparing, or visually skip them in the diff output.

Is my Kubernetes config safe?

Yes. This tool runs entirely in your browser. Your manifests, including any secrets, ConfigMap data, or cluster information, are never sent to any server.

Does this handle multi-document YAML?

Yes. Multi-document YAML with --- separators is compared as text. Each document boundary is preserved in the diff, making it easy to see which resource changed.