Kubernetes Manifest Studio

Paste Deployment, Service or other manifests to list the resources and see which Deployment a Service's selector reaches. It flags removed apiVersions, latest or missing image tags, missing requests and limits, and risky securityContext settings, each with a line number. It does not fully validate the schema, so use it as a review aid before you apply anything to a cluster.

On-device・No uploadMobile friendlyWorks offline

Your files and input are processed only inside your browser on this device and are never uploaded to our servers.

Pasted YAML is processed only inside your browser. It is not sent to a server or stored. Full schema validation is not performed; findings follow the official removed-API list and part of Pod Security.

Drop a YAML file

or

One text file up to 200 KB. Contents are not uploaded.Paste (Ctrl+V) also works
Paste YAML or drop a file to see the resource list and findings.

How to use

  1. deployment.yaml

    Paste YAML (several documents)

  2. Service matcheswith line numbers

    Resource matches and findings

  3. deployment.yaml (formatted)key order kept

    Format and save

Paste a manifest, check the matches and findings, then format and save it
  1. Paste YAML, or drop a file (“Choose file” works too). “Try a sample” shows how it works.

  2. Check the resource list for apiVersion, kind, name, namespace and labels. Deployment containers show image, ports, env names and resources.

  3. Open “Issues” for a list ordered by severity. Removed APIs and Deployment selector mismatches are high; the rest are medium or low.

  4. Use “Format” to save the YAML with aligned indentation. It is not formatted when there is a syntax error.

What it does

Findings from official removed APIs

Only the apiVersion and kind pairs listed in the Kubernetes Deprecated API Migration Guide are checked, with the release in which each was removed (1.16, 1.22, 1.25, 1.26, 1.29).

Service to Deployment matching

Shows which Deployments a Service selector reaches, and flags selectors that match nothing and targetPorts that no container port matches.

Pod Security checks

Checks privileged, hostNetwork and hostPath (baseline), and runAsNonRoot and allowPrivilegeEscalation (restricted), following the Pod Security Standards.

Env values are kept out of the table and issues

Flags values in env that look like secrets (AWS-style keys, PEM keys) or names such as PASSWORD and TOKEN set directly. The table and issues show names only. The Format tab prints the YAML as it is, values included.

Formatting with line-numbered issues

Keeps the --- document separators and key order while aligning indentation, so the output is easy to diff.

Use cases

  • Check for removed apiVersions such as extensions/v1beta1 before you apply to a cluster
  • See which Deployment a Service selector reaches without tracing labels by hand
  • Review Pod securityContext settings such as privileged and runAsNonRoot before publishing
  • Look for passwords typed directly into env values in YAML generated by Helm or other tools

Capability matrix

FeatureSupportNotes
Reading multiple documents and listing resourcesSupported—
Removed API detection (only the pairs in the official migration guide)PartialPairs not in the list, and newly removed APIs, are not detected
Service selector and targetPort matching to DeploymentsSupported—
Pod Security checks (privileged, hostNetwork, hostPath, runAsNonRoot and more)PartialOnly part of the baseline and restricted profiles
Latest tags, requests/limits and probesSupportedBest-practice checks; Kubernetes does not require them
Full schema validation (every field name and type)Not supportedFull schema validation is not performed
Applying to a cluster, comparing with live resources, running kubectlNot supportedNo network requests; kubectl is not run
Expanding Helm or Kustomize templatesNot supportedPaste the rendered YAML instead

Limits & notes

  • Input is limited to 300,000 characters and 50 documents. Anything beyond is not read, and you are told.
  • Full schema validation is not performed. A misspelled field or wrong type may not be flagged here, but the cluster may still reject it.
  • Pod Security checks cover only part of the baseline and restricted profiles. The namespace-level Pod Security setting is not visible here.
  • Findings follow the official documentation. Removal dates and recommendations depend on the Kubernetes version.

Privacy & safety

Pasted YAML is processed only inside your browser. Nothing is sent to or stored on a server, and nothing is saved in the browser. Usage analytics never include content or file names.

FAQ

When was extensions/v1beta1 Deployment removed?
The official migration guide lists it as removed in Kubernetes 1.16. This page flags listed pairs together with the release in which they were removed.
A Service does not reach my pods. What should I check?
Check that the Service selector matches the labels in the Deployment pod template, and that targetPort matches a container port. This page shows that matching.
What happens without resources or probes?
The manifest can still apply, but without requests and limits the scheduler and resource controls have less to work with. This page flags them as best-practice items.
If there are no findings, will it apply?
Not necessarily. Schema validation is not performed here, so also run a server-side dry run such as kubectl apply --dry-run=server.
How should I supply secret values?
Do not write them in the manifest. Create a Secret and reference it with secretKeyRef. Note that Secret data is base64, which is encoding, not encryption.

Docker Compose Studio

Convert docker run commands to compose.yaml, or compose.yaml back to docker run. A compose file is checked for syntax, the Compose Specification and common mistakes, and security points worth confirming are listed. Nothing is started or pulled, and your input never leaves your device.

No upload

Dockerfile Studio

Paste a Dockerfile to check its syntax, stages and common mistakes. Secret-looking values and points to confirm, such as curl | sh, are listed with line numbers. You can also format it or generate starter files for Node.js, Python, Go, a static site or Java. Nothing is built, and your input never leaves your device.

No upload

YAML / TOML Studio — Validate, Format & Convert

Paste YAML, TOML or JSON to validate, format or convert it. Errors show the exact line and column, and type traps such as “no becomes false” and anything lost in conversion are flagged up front. Your data never leaves your device.

No upload

Lockfile Diff & Dependency Tree

Compare two lockfiles to see which packages were added, removed or upgraded. You can also see why a package is installed and where several versions of one package come from. Nothing leaves your browser.

No upload

.env Studio

Paste or drop a .env file to see its keys and values in a table, with duplicates, empty values and syntax problems flagged by line. Values are hidden by default. You can compare a .env with a .env.example, or export an example file, JSON or a Kubernetes Secret. It checks common dotenv syntax, not tool-specific rules such as docker compose variable expansion.

No upload

nginx Config Studio

Build a reverse proxy, SPA, PHP-FPM or HTTP-to-HTTPS redirect config from a form, or paste your nginx.conf to list syntax errors and easy-to-miss points. Everything runs in your browser and nginx is never executed.

No upload

Last updated: