Kubernetes / Helm

Kubernetes YAML validator— inspect the whole manifest stream

Choose a Kubernetes snapshot, inspect field diagnostics and export the resource you need.

Kubernetes YAML validator

Manifest YAML

Resources and results

Result is out of date; export is disabled.

Manifests and custom schemas stay in this browser; no cluster connection.

Validation settings
Custom resource schema

Paste draft-07 JSON Schema for one exact apiVersion/kind. Internal refs work; remote refs are not fetched. Kubernetes CEL is not executed.

Result is out of date; export is disabled.

Static checks do not guarantee deployment. Formatted YAML can be exported with validation errors; review diagnostics first.

Use this Kubernetes YAML validator when a review contains several resources and a plain YAML parser says only that the syntax is legal. A valid mapping can still put a string where replicas expects an integer or misspell a container field.

Keep the target cluster version visible during Kubernetes manifest validation. The bundled snapshots are 1.35.0, 1.36.0 and 1.37.0; the result describes that schema snapshot and the current input, not a request sent to an API server.

Why use this Kubernetes YAML validator?

Keep document context beside each finding

The Kubernetes YAML validator lists each document with its kind, name and namespace. Field diagnostics keep their document number and source position, so a Service error is not confused with the Deployment next to it. Select a resource to extract its formatted YAML while the complete input stays intact.

Three separated manifest cards become a resource list with one highlighted diagnostic.

Check the connections visible in your input

A Service selector is compared with Pod labels and workload template labels in the same namespace. ConfigMap and Secret references are checked against the supplied resources. A missing match is a warning because the object may already exist in your cluster.

A service connects to matching workload cards, while an absent configuration reference ends in a warning.

Review the version, scope and export together

01

Pin the schema before checking

The default is 1.37.0. Changing the snapshot, indentation or custom schema makes the old result stale immediately. Run validation explicitly with the button or Ctrl/Cmd+Enter; there is no background auto-validation.

02

Supply a schema for a custom kind

Open the custom schema panel and enter the exact apiVersion and kind alongside draft-07 JSON Schema. Internal references are supported. Missing external references cause an error; neither CRD discovery nor a remote schema download is performed.

03

Preview changes before replacing the source

Formatting and file merging create a preview with character and document counts. Apply writes it back; Undo restores the input and the previous result together. Choose All documents or one numbered resource for the next export.

From YAML syntax to resource context

Versioned structural checks

Kubernetes schema validation uses the complete definitions from the pinned upstream registry, derived from Kubernetes OpenAPI. Strict schemas detect additional fields, required values and wrong types. The workbench reports the first schema violation per resource, so correcting one error can reveal another.

Names and duplicate identities

Common resource names receive DNS checks; RBAC names use path-segment rules. Duplicate identity compares API group, kind, namespace and name, ignoring the API version. Unsupported kind-specific name rules remain visible as warnings. Job names are limited to 63 characters and CronJob names to 52.

Local relationships with limited claims

The local check covers Service selectors plus ConfigMap and Secret references in container environments, volumes and projected volumes. Workload templates are inspected too. It does not test connectivity, discover external objects or determine whether referenced keys exist.

Preserved annotations and separate documents

Validate multi-document YAML without flattening it through JSON. Formatting preserves comments and numeric source text. Selected-document export and local file merging share the same parser, with no automatic sorting or field deletion.

What the result can and cannot establish

Static validation ends before admission
Passing does not evaluate CEL, webhooks, feature gates, RBAC, scheduling, image availability or runtime behavior. Server defaults are not applied. Service names use the default letter-first rule; relaxed naming gates are outside this check.
Custom resources need their own definition
An unknown apiVersion/kind remains unvalidated until a custom resource schema is supplied. This page accepts draft-07 for an explicitly chosen kind; it does not extract schemas from CRD objects or render Helm and Kustomize templates.
List wrappers need a separate preparation step
Supply resources separated by --- rather than kind: List or another *List wrapper. Wrapper items are not expanded or individually validated. Empty documents are omitted from the resource list; their original document numbers remain meaningful.
Bounded input and execution
Limits are 500,000 input characters, 100 YAML documents, 100 nesting levels, 50,000 parsed nodes and 1,000 diagnostics. A disposable worker stops after 8 seconds. Duplicate keys, unsupported tags, excessive alias expansion and unsafe integers fail explicitly.
An export is not a deployment approval
Formatted YAML remains exportable when structural errors are reported, allowing you to save work in progress. Syntax failures and stale results disable export. Comments survive formatting, but whitespace and flow style may change; review the preview before applying.

Kubernetes YAML validator questions

How can I validate Kubernetes YAML files?

Separate syntax checking from resource validation. This Kubernetes YAML validator parses every document, identifies apiVersion/kind and checks the corresponding bundled schema. Correct reported fields, then use your cluster’s own validation process for admission and environment-specific decisions.

Can I validate against a particular Kubernetes version?

Choose 1.35.0, 1.36.0 or 1.37.0. Older versions such as the 1.20 mentioned in the source question are not bundled. Use a validator with the exact older schema rather than assuming a newer snapshot is equivalent.

How can I check custom resources before a GitOps commit?

Provide the custom kind’s draft-07 schema and exact apiVersion/kind in the custom panel. A resource without a matching schema is marked for review. Constraints expressed only as Kubernetes extensions, including CEL, still require the appropriate server or policy tooling.

Can I validate multi-document YAML files?

Yes. Use --- between resources, up to 100 documents. Each nonempty document appears separately in the list. A List object is a different structure and is intentionally reported as unsupported rather than treating its items as separate documents.

Why must a label value be a string?

YAML can interpret unquoted true or a numeric value as a boolean or number. Kubernetes label values are strings. Quote the intended text, such as "true" or "123", and validate again. Formatting alone does not coerce the value.

Found a configuration this tool handles incorrectly?

Review the next manifest

Keep Kubernetes YAML validator findings alongside the deployment review. Recheck after changing a version or field, then export the exact document set you intend to use.