Kubernetes YAML Manifest Validator – Free Online Validate Kubernetes YAML manifests.
100% offline
Manifest
Validation
Paste a Kubernetes manifest to validate. Accepts JSON or a simple YAML subset (mappings, lists, scalars, inline {}/[], and --- multi-doc).

About Kubernetes YAML Manifest Validator – Free Online

A small typo in a Kubernetes manifest — a missing `spec.selector`, the wrong `apiVersion`, a list where an object was expected — often surfaces only after `kubectl apply` rejects it, or worse, after a rollout misbehaves. This Kubernetes manifest validator parses your YAML and checks it against built-in structural rules for the kinds you use most, reporting each problem with the exact path that failed.

It validates the common kinds — Pod, Deployment, Service, ConfigMap, Secret, Ingress, Namespace, StatefulSet, DaemonSet, Job and CronJob — checking required top-level fields (`apiVersion`, `kind`, `metadata.name`), the required `spec` fields for each kind, known `apiVersion` values, and basic field types. Manifests with several documents separated by `---` are validated one document at a time.

Everything runs entirely in your browser. Your manifests — including any inline config or Secret data — never leave your device, so it is safe to paste real cluster definitions while you sanity-check them offline.

Features

  • Per-path errors with JSON-pointer-style locations (e.g. /spec/selector)
  • Structural rules for 11 common kinds, including required spec fields and apiVersion checks
  • Multi-document manifests split on --- and validated independently
  • Unknown kinds are flagged as a warning, not a hard failure
  • Accepts JSON or a dependency-free YAML subset; fully offline

How to use

  1. Paste your Kubernetes manifest (YAML or JSON) into the input pane, or click Load sample.
  2. Read the Valid / Invalid badge and the top status line for an at-a-glance result.
  3. Scan each document card for errors (missing or mistyped fields) and warnings (unknown kinds).
  4. Fix the field at the reported path and re-check until every document reads Valid.

Frequently asked questions

Which Kubernetes kinds does it validate?

It has structural rules for the most common kinds: Pod, Deployment, Service, ConfigMap, Secret, Ingress, Namespace, StatefulSet, DaemonSet, Job, and CronJob. For each it checks the universal fields (apiVersion, kind, metadata.name), the required spec fields, the expected apiVersion, and basic field types.

Does it support full YAML?

It parses a practical YAML subset — nested mappings by indentation, block and inline lists, scalars, comments, and --- document separators — plus plain JSON. Advanced YAML features like anchors, tags, and multi-line block scalars are not parsed; for those, convert to JSON first. The interface notes this so you are never surprised.

What happens with an unknown kind?

An unrecognized kind is reported as a warning rather than an error. The validator still confirms the universal required fields are present, but it cannot check the kind-specific shape, so it tells you the document was not fully validated instead of failing it outright.

Is it safe to paste production manifests?

Yes. All parsing and validation happen locally in your browser with no network requests. Nothing you paste — including ConfigMap or Secret data — is uploaded or stored anywhere.

Does a Valid result guarantee kubectl apply will succeed?

No. This is a fast structural sanity check, not the full upstream OpenAPI schema or your cluster admission webhooks. It catches the most common mistakes early; the cluster remains the source of truth for full validation.

Everything runs locally in your browser — your input is never uploaded.