Kubernetes Manifest Validator (YAML)

Catch Kubernetes manifest mistakes before kubectl apply rejects them. This validator parses your YAML, identifies each document's kind, and verifies the required fields, common typos, and best-practice violations. Handles multi-document files (--- separated). Browser-only — no upload, no cluster needed.

How to use the Kubernetes Manifest Validator (YAML)

Paste one or more Kubernetes manifests separated by ---. Click validate. For each document, the tool checks: required apiVersion / kind / metadata.name, kind-specific required fields (Deployment needs spec.template, Service needs spec.ports, etc.), and warnings for missing best-practice fields (resource limits, liveness probes, image tags pinned vs latest).

About Kubernetes Manifest Validator (YAML)

Kubernetes manifests are YAML or JSON documents describing the desired state of cluster resources. Every manifest needs at minimum:

  • apiVersion — which API group/version the resource belongs to (e.g. apps/v1, v1, networking.k8s.io/v1).
  • kind — what type of resource (Deployment, Service, ConfigMap, etc.).
  • metadata.name — the object's name (must be DNS-1123 compliant).
  • Kind-specific spec fields.

The kubectl apply --dry-run=client command runs similar checks locally. kubectl apply --dry-run=server runs against the API server (catches more issues like admission controller rejections, conflicting field manager ownership). This tool replicates the client-side dry-run logic without needing kubectl installed.

The validator also checks common best practices:

  • Image tags should not be latest (causes non-reproducible rollouts).
  • Containers should have resource requests + limits (prevents resource starvation).
  • Pods should have liveness + readiness probes (prevents bad rollouts).
  • Services should have explicit type (default ClusterIP is correct most of the time but should be intentional).
  • Deployments should have an explicit replica count (default 1 surprises people).

Common use cases

  • Pre-commit validation — catch errors before pushing to a CI pipeline.
  • Editing manifests in a sandbox — when you don't have kubectl context to a real cluster.
  • Code review — paste a colleague's manifest, get a quick sanity check.
  • Teaching K8s — show students why a manifest is invalid.
  • Auditing existing manifests — bulk-check production YAML files for best-practice violations.

Frequently asked questions

Does this know about every CRD?

No — built-in resources only. CRDs (Istio VirtualService, Argo Workflows, etc.) need cluster-side validation.

Is this a replacement for <code>kubeval</code> / <code>kubeconform</code>?

No — those validate against full OpenAPI schemas pulled from a real K8s version. This tool does a faster sanity check focused on common mistakes.

Does it check Helm templates?

Render the template first (helm template) then validate the output here.

What about <code>--dry-run=server</code>?

Not possible in the browser — that needs API server access. Use the kubectl command directly.