Skip to content
100% local

Helm values flattener

Flatten a values.yaml file into helm --set paths, or compose paths back into YAML.

Input
Output

Helm values flattener

Paste a Helm chart's values.yaml and this tool flattens every nested key into a dotted path with its value, in the a.b.c=value format that helm upgrade --set expects. It is the fastest way to turn a values file into a set of override flags for a CI pipeline, a one-off install, or a diff against another environment's values — without hand-walking the YAML tree yourself.

Switch direction to go the other way: paste a list of path=value pairs, or a full --set a=1,b=2 fragment copied from a command line, and the tool composes them back into nested YAML. Array notation controls whether list items render as tags[0] (bracket style, matching Helm's own syntax) or as a dotted index like tags.0; output format switches between one path per line and a single --set command fragment ready to paste after helm install or helm upgrade.

Two options handle the sharp edges of Helm's --set syntax. Escape dots and commas in values backslash-escapes any literal "." or "," inside a value, since both characters are structural in --set — without escaping, a value like "1.2.3" or "a,b" would be misread as a nested path or a second flag, and the tool marks those lines instead so you can see exactly which ones need attention. Skip empty and null values drops blank strings, null, and empty objects or arrays from the output, which keeps a large chart's flag list to only the overrides that matter. A path prefix option prepends a fixed segment — useful when the values belong to a subchart and every flag needs to start with that subchart's name.

Everything runs locally in your browser; the values file never leaves your device, which matters when it holds internal service names, resource limits or other configuration you would not want to paste into a third-party service. Copy the result, download it as a .txt file, or send the output back into the input to flatten a nested subset further.

FAQ

Does this work with any values.yaml, not just Helm-generated ones?
Yes. Any well-formed YAML document works — the tool just walks its structure and flattens it, so it also handles plain config files you want to turn into path=value pairs.
What happens to arrays when I flatten?
Each array item gets its own path. Choose bracket notation (tags[0]) to match Helm's own --set syntax, or dot-index notation (tags.0) if that suits your pipeline better.
Why would a value need escaping?
Helm --set treats "." as a path separator and "," as a flag separator. A value that legitimately contains either character — a version string like "1.2.3", or a comma-separated list — must have those characters backslash-escaped, or Helm will misread the flag.
Can I round-trip a flattened list back into YAML?
Yes. Switch the direction option to "Compose back to YAML" and paste the path=value pairs — one per line or comma-separated — to rebuild the nested structure, including arrays.
Is my values file uploaded anywhere?
No. The flattening and composing both run entirely in your browser — your YAML and its values never leave your device.