YamlShift · Runs in your browser · The Altar by Misfit Mindset · Shift

About YamlShift

Kubernetes is YAML until it is JSON in an API. YamlShift converts YAML to JSON and JSON to YAML in the browser so a config can move between tools without an upload. Use it to pretty a values.yaml, to flatten a GitHub Action into JSON for a linter that only speaks JSON, to see why a tab character broke a helm chart. Do not use it as a Kubernetes admission controller, a secret vault, or a YAML 1.1 vs 1.2 lawyer. Norway still becomes a boolean in some parsers. Quote 'on' and 'no' if they are strings. JsonShift is the JSON-only sibling.

Paste YAML, get JSON. Paste JSON, get YAML. Indentation is the syntax. Tabs vs spaces still ruin mornings. Duplicate keys: last one wins in many parsers; do not rely on that. Anchors and aliases may round-trip poorly if the converter is a JSON middle. Multi-document YAML with --- is not one JSON object; expect failure or a list if the UI is kind.

When not to use it: huge CRD dumps, binary in YAML, and production secrets. Also skip if you needed to apply the chart. This is a converter, not kubectl. HtmlShift is unrelated except that both are 'paste text' tools. RegexShift will not fix indentation. Multi-document files split on --- ; one JSON object is the wrong expectation for two workflows.

Privacy is local. Cluster configs with internal hosts should not visit a public converter. Still redact tokens. Close the tab. The output in a gist is your leak, not ours. Tabs versus spaces remain fatal; if convert fails at column 0, look for a tab before you blame the booth.

How to use it

  1. Paste YAML or JSON into YamlShift.
  2. Convert to the other format; watch for boolean-looking strings (on, off, no, yes).
  3. Copy the result into the tool that wanted that syntax.
  4. Do not convert multi-doc Helm files and expect one object without checking.
  5. Redact secrets before you screenshot.

Worked example

A 40-line values.yaml becomes JSON for a dashboard that only imports JSON. Replica count stays 3. The string 'no' for a feature flag became false; you quote it in YAML and convert again. A second paste is a GitHub workflow with two documents; the converter complains. You split on ---. Nothing uploaded to a YAML website. A feature flag 'no' becoming false is the round trip teaching you to quote, not a random JSON bug.

Limits — when not to use YamlShift

Privacy

YamlShift converts in the browser. Configs stay on the device. Redact tokens anyway. There is no cluster-side store. Close the tab when the file is back in git. Cluster configs with internal hosts should not visit a public converter; redact anyway, then close the tab.

Full policy: Shift Privacy Policy. Questions: [email protected].

Questions people actually ask

Why did 'NO' become false?

YAML 1.1 treats some country names and yes/no as booleans. Quote the string. JSON does not have that foot-gun, which is why the round trip revealed it. JSON does not have the Norway-boolean foot-gun, which is why the round trip is how you discover it.

Can I convert a whole Helm chart?

You can convert files one at a time. Templates with {{ }} are not YAML until rendered. Convert values.yaml, not the template, unless it is already plain. Templates with mustaches are not YAML yet; convert rendered output or values files, not the chart templates.

JSON to YAML lost key order?

Some parsers do. If order matters, stop using a format that does not guarantee it, or use a tool that preserves it. Kubernetes mostly keys by name, not order. If key order matters, stop using a format that does not guarantee it; Kubernetes mostly keys by name.

Is this a linter?

A failed convert is a parse error. It is not kubeval. Valid YAML can still be a terrible spec. A failed convert is a parse error, not kubeval; valid YAML can still be a terrible spec you should not apply.

Related tools: JsonShift · HtmlShift · DiffShift
Guides · All Shift tools · About · Contact