Kubernetes Manifest Validator
Check one or more Kubernetes manifests for the fields each kind cannot function without.
Paste one or more manifests on the left.
How it works
Checks the fields a Kubernetes manifest cannot function without: the universal apiVersion,
kind and metadata.name, plus a handful of per-kind requirements — a Deployment needs
spec.selector and spec.template, a Service needs a selector or an ExternalName type.
Accepts multiple ----separated documents in one paste, since that is how manifests are usually
written in practice.
What this does not check
This is not the full Kubernetes OpenAPI schema, which runs to thousands of fields across dozens of API versions,
and it never talks to a live cluster — it cannot confirm a referenced ConfigMap or Secret actually exists, or that
your RBAC permits the change. kubectl apply --dry-run=server is the tool for that; this is a
structural check you can run before you have a cluster to talk to at all.
Example
A Deployment with an empty containers: [] list is flagged as an error — it would run nothing. A
Service with a selector but no ports is flagged as a warning, not an error, since that is unusual but not
necessarily broken.
Frequently asked questions
Why does it accept multiple documents in one file?
Because that is how Kubernetes manifests are usually written in practice — a Deployment, its Service, and its ConfigMap as one `---`-separated file rather than three. Reading only the first document would silently skip the rest, which is a worse failure mode than the tool being asked to parse something slightly unusual.
Why is a missing spec.selector only checked for some kinds?
Because it only means something for the kinds that use it — a Deployment or Service without one genuinely cannot function, but the requirement does not exist for a ConfigMap or Secret, which have no selector concept at all. Checking every kind against the same fixed field list would produce false positives on kinds where the field was never relevant.
Related tools
Docker Compose Validator
Check a Compose file for the mistakes that stop it loading — before you find out with docker compose up.
LocalYAML to JSON Converter
Convert YAML to JSON and back, with what the conversion costs stated rather than dropped.
LocalJSON Formatter & Validator
Format, validate and measure JSON, with errors located by line and column.
LocalOpenAPI Structure Checker
Check an OpenAPI document for the fields it needs to describe a real API — not full spec compliance.
LocalJWT Decoder
Decode a JSON Web Token and read its header, claims and expiry.
LocalJWT Security Inspector
Check a decoded token against the weaknesses that show up in real audits.
Local