Kubernetes YAML Validator

Validate K8s manifests for required fields, deprecated APIs, missing probes, resource limits, and best practices. Supports multi-document YAML. Free, fast, and 100% client-side.

Kubernetes YAML Input
Load .yaml / .yml file
Validation Results
Click "Validate YAML" to check your manifests...

What Is a Kubernetes YAML Validator?

A Kubernetes YAML validator checks your K8s manifests for structural errors, missing required fields, deprecated API versions, and best-practice violations before you apply them to a cluster. Catching these problems before kubectl apply prevents failed deployments, crashed pods, and hard-to-debug rollout errors. This validator runs entirely in your browser — your YAML never leaves your machine, making it safe for proprietary configurations.

What This Validator Checks

How to Validate Kubernetes YAML

  1. Paste your manifest into the editor, upload a .yaml file, or try one of the built-in examples.
  2. Click Validate YAML. The manifest is parsed client-side and each resource is checked against the rules above.
  3. Review the results panel: errors must be fixed, warnings are best-practice recommendations. Click a resource in the tree to jump between findings.
  4. Fix your manifest and re-validate until only green checks remain, then apply it with kubectl.

Why Validate Before kubectl apply?

The API server rejects malformed manifests at apply time, but structural errors are only the first failure layer. A syntactically valid Deployment can still schedule pods that crash-loop because of a missing probe, exhaust node memory because limits were never set, or silently fail an upgrade because it targets an API version removed in your cluster's release. The deprecated-API problem is the classic case: manifests written for older clusters keep working for months or years, then break during a Kubernetes upgrade. Checking manifests as part of development — the same way you lint code — catches these issues while they are still cheap to fix.

Client-side validation also complements, not replaces, server-side tools like kubeconform or kubectl's --dry-run=server: it gives instant feedback with zero setup, no cluster access required, and no risk of sending confidential manifest data to third-party services.

FAQ

What Kubernetes resource types are supported?
Pod, Deployment, ReplicaSet, StatefulSet, DaemonSet, Service, ConfigMap, Secret, Ingress, Namespace, PersistentVolumeClaim, Job, CronJob, Role, ClusterRole, RoleBinding, ClusterRoleBinding, ServiceAccount, HorizontalPodAutoscaler, NetworkPolicy, and more. All types are checked for universal fields (apiVersion, kind, metadata.name).
Does this tool send my YAML to a server?
No. All validation runs entirely in your browser using a client-side YAML parser. Your manifests never leave your machine.
What deprecated API versions are detected?
The validator checks against known deprecated Kubernetes API versions such as apps/v1beta1, apps/v1beta2, extensions/v1beta1 (Ingress), policy/v1beta1, batch/v1beta1 (CronJob), networking.k8s.io/v1beta1, and more. It suggests the current recommended version for each.
What lint checks are performed?
Best-practice checks include: container images using :latest tag, missing resource limits/requests, missing liveness and readiness probes, single replica Deployments, missing namespace, and missing labels.
Can I validate multi-document YAML files?
Yes. Separate documents with --- (the standard YAML document separator). Each document will be parsed and validated independently.

Related Tools