Check Kubernetes manifests before your cluster does

Pick the Kubernetes version you deploy to, paste a bundle, and read layered findings: YAML, identity, schema, cross-object references and local policy. Nothing leaves this tab.

Schema pack 2026.10.0, self-authored. What it covers

Source

Opening local draft…
Analysing…

Analysing…

What the workbench checks

Every document goes through the same pipeline: decode, YAML parse, identification (group, version, kind, namespace, name), pack resolution, schema checks, cross-object checks and an optional local policy profile. Each stage reports complete, partial or skipped, so you can see how far the analysis went for each document.

Kinds outside the pack, including custom resources, get a YAML syntax check and a "syntax only" verdict. They never get a "valid" badge, because without a schema nothing was actually validated.

Where the boundary is

This is static analysis of the files you supply. Admission webhooks, API-server defaulting, quota, scheduling and what your cluster actually serves are unknown here. A clean result means the supplied YAML passed these local checks. It does not mean kubectl apply will succeed. For that, run the generated server-side dry-run command against your own cluster.

Questions

Does K8sTools connect to my cluster?

No. There is no kubeconfig import, no API calls and no kubectl execution. All parsing and analysis runs in your browser, and your manifests are never uploaded.

Which Kubernetes versions are supported?

The self-authored schema pack covers core kinds for 1.27 through 1.33 and was written against the 1.31 API reference. The version you pick changes deprecation results and version-gated fields such as native sidecars.

Is the schema pack the official OpenAPI schema?

No. It is a hand-written, partial structural schema for about twenty core kinds, versioned and dated on the About page. Subtrees it does not model, such as affinity, are accepted and reported as partial coverage.

Is my work saved?

The editor autosaves to IndexedDB in this browser and shows when the last save committed. Private mode turns persistence off. Browser storage is not a backup, so download anything you need to keep.

Other tools

Manifest editorEdit multi-document Kubernetes YAML with per-document identity, duplicate detection, a relationship graph with an accessible table, and findings tied to source lines.YAML validatorValidate Kubernetes YAML against a versioned schema pack with separate YAML, schema, cross-object and policy findings.Deployment generatorGenerate a Deployment with Service, Ingress, PodDisruptionBudget and HPA: named ports, probes, requests and a hardened security context, validated as you type.Service generatorBuild ClusterIP, NodePort, LoadBalancer, headless and ExternalName Services, and check selector and targetPort mapping against a pasted workload.Resource calculatorExact Kubernetes quantity parsing (100m vs 100Mi), unit conversion, and requests/limits totals that account for init containers, native sidecars, replicas, rollout surge and overhead.RBAC analyzerInspect Roles, ClusterRoles and bindings offline: subject-to-permission matrix, aggregated-role handling, risky verbs, and "can this subject do X" checks scoped to the supplied rules.NetworkPolicy explainerExplain which pods each NetworkPolicy isolates and test traffic scenarios between pods, namespaces and IPs with additive allow-list reasoning.Probe builderBuild liveness, readiness and startup probes and see their timing: when the first check runs, how long until a failure triggers action, and what that action is.Manifest diffCompare two Kubernetes bundles by text or by object: objects matched by identity, list items matched by name, and status or server fields ignored only when you choose.API deprecationsFind Kubernetes APIs removed or deprecated for your target version, using a dated pack, and preview field-aware migrations with the semantic changes you need to review.CronJob schedulePreview the next runs of a Kubernetes CronJob schedule in its spec.timeZone, explain concurrency and deadline settings, and catch TZ= in the schedule string.Secret encoderEncode and decode Kubernetes Secret values locally, build Secret YAML with data or stringData, and inspect an existing Secret with values masked by default.Redact exportFind Secret data, tokens, credential-bearing env values and last-applied annotations in Kubernetes YAML, review each one, and export a redacted copy.TemplatesSynthetic Kubernetes templates with safe defaults — web app, StatefulSet, CronJob, NetworkPolicy, RBAC, HPA, sidecar — each tested against the schema pack for every supported version.