YAML セマンティック差分 — Helm・Kubernetes 対応
Kubernetes と Helm 向けのセマンティック YAML 差分ツール。kind+name をキーにした複数ドキュメント対応、アンカー展開、ConfigMap base64 デコード — 完全ブラウザ内処理。
100% client-side · no upload · works offline
Semantic diff Added
Removed
Changed
Paste YAML above and click Compare to see the semantic diff…
How to use
- Paste your original YAML — Helm
values.yaml, K8s manifests, or any multi-document stream — into Before, and the updated version into After. - Enable Key docs by kind+name for Kubernetes streams — resources are matched by
kind/metadata.namerather than by position, so reordered documents still diff correctly. - Click Compare to see the semantic diff. Use Copy as kubectl patch to export a JSON Merge Patch you can apply with
kubectl patch.
Related use cases
Related tools
よくある質問
- Does my YAML data leave my device?
- No. All parsing and comparison happens entirely in your browser — no server, no upload, no account required. Your Kubernetes manifests, Helm values, and secrets never leave your device.
- What makes this tool Kubernetes and Helm aware?
- When "Key docs by kind+name" is enabled, multi-document YAML streams (separated by ---) are matched by their kind + metadata.name pair. A Deployment named "api" in the left side is always compared against the Deployment named "api" in the right side, even if document order changes — exactly how helm diff upgrade and kubectl diff work.
- Does it support YAML anchors and aliases?
- Yes. js-yaml automatically expands anchors (&anchor) and aliases (*alias) before comparing, so you see fully-resolved values rather than symbolic tokens. This is important for Helm values files that use anchors for DRY configuration.
- What does the base64 auto-decode option do?
- When enabled, values inside ConfigMap and Secret .data fields are decoded from base64 before display. This lets you see the actual content — connection strings, certificates, config files — rather than the encoded blob. Useful when reviewing changes in Sealed Secrets or Helm-generated Secrets.
- What is the kubectl patch output?
- After comparing, click "Copy as kubectl patch" to copy a JSON Merge Patch of the changed fields. Apply it with kubectl patch -f <file> --type=merge, or use it as a Kustomize strategic merge patch. Removed keys are set to null per RFC 7396.
Last updated: By jarvisbox