Kubernetes Manifest Validator

Paste your Kubernetes YAML manifest to validate required fields, check for deprecated APIs, security misconfigurations, and best practice violations.

About This Tool

The Kubernetes Manifest Validator is a free browser-based linter for Kubernetes YAML manifests. It checks for common misconfigurations and best practice violations that can cause deployment failures, security vulnerabilities, or operational issues.

The validator performs several categories of checks:

  • Required fields: Verifies apiVersion, kind, and metadata.name are present
  • API version validation: Detects deprecated API versions (e.g., extensions/v1beta1) and suggests their replacements
  • Resource limits: Warns when containers lack CPU/memory requests and limits, which can lead to resource exhaustion and noisy-neighbor problems
  • Health checks: Flags missing liveness and readiness probes on containers
  • Security: Detects privileged containers, containers running as root, and missing securityContext settings
  • Image tags: Warns about :latest tag usage and untagged images
  • Multi-document support: Handles YAML files with multiple documents separated by ---

This tool complements the YAML Formatter for fixing indentation issues and the Docker Run Builder for generating container configurations. If you need to convert between YAML and JSON, try the JSON/YAML Converter.

All processing runs entirely in your browser. Your Kubernetes manifests are never sent to any server, making this tool safe to use with production configurations, secrets references, and internal service names.

How to Use

  1. Paste your Kubernetes YAML manifest into the input panel on the left.
  2. The validator automatically analyzes the manifest and displays results in the right panel.
  3. Review the color-coded diagnostics: red for errors, yellow for warnings, and blue for informational suggestions.
  4. Check the Resources Found table below the panels for a summary of all Kubernetes resources in the manifest.
  5. Use the sample buttons to load example manifests and see the validator in action.
  6. Click Copy Results or press Ctrl+Shift+C to copy all diagnostics to your clipboard.
  7. Fix issues in your manifest and paste the updated version to re-validate.

Popular K8s Manifest Validation Examples

View all K8s manifest validation examples →

FAQ

What checks does this validator perform?

The validator checks for: missing required fields (apiVersion, kind, metadata.name), deprecated API versions, missing resource requests and limits, missing liveness and readiness probes, containers running as root or in privileged mode, usage of the :latest image tag, missing labels, and more. It covers the most common Kubernetes misconfigurations.

Does this replace kubectl dry-run or admission controllers?

No. This is a client-side linter that catches common issues before you apply manifests to a cluster. It does not validate against a live cluster API or custom admission policies. Use this tool as a first line of defense, then validate with kubectl --dry-run=server and your cluster's admission webhooks.

Does it support multi-document YAML files?

Yes. You can paste YAML files with multiple documents separated by --- (three dashes on a line). Each document is validated independently, and the Resources Found table shows all resources across all documents.

What Kubernetes API versions are recognized?

The validator recognizes all standard Kubernetes API versions including v1, apps/v1, batch/v1, networking.k8s.io/v1, rbac.authorization.k8s.io/v1, and others. It also detects deprecated versions like extensions/v1beta1 and suggests their replacements. Custom Resource Definitions (CRDs) with custom API groups are accepted without warning.

Is my data safe?

Yes. All validation runs entirely in your browser using JavaScript. No data is sent to any server. Your Kubernetes manifests, including any secrets references, service names, and internal configurations, never leave your machine. You can verify this by checking the Network tab in your browser's developer tools.

Can it validate Helm templates?

No. Helm templates contain Go template syntax ({{ }}) which is not valid YAML. You need to render Helm templates first using 'helm template' before validating the output. This tool validates rendered Kubernetes YAML manifests only.

What is the difference between errors and warnings?

Errors indicate issues that will likely cause deployment failures, such as missing required fields or empty container arrays. Warnings indicate best practice violations that may cause operational problems, such as missing resource limits or health probes. Info messages are suggestions for improvement, like adding labels or readiness probes.

Related Tools