INI to YAML Converter
Paste an INI file and get YAML. Sections become mappings, repeated keys become lists — a quick way to move settings into Ansible, Docker Compose, Kubernetes ConfigMaps or Helm values.
Runs entirely in your browser — nothing you enter here is sent to a server.
Two formats for the same job
INI and YAML are both meant to be edited by people, and a simple YAML file looks a lot like an INI file with colons instead of equals signs. The difference shows as soon as the configuration grows: INI has one level of sections and no agreed way to write a list, while YAML nests as deeply as needed and has lists, multi-line strings and real data types built in. That is why newer tooling standardised on YAML — and why old INI settings keep needing a conversion.
Sections become mappings
[queue] becomes a queue: key with its settings indented beneath. Dotted names nest further.
Repeated keys become lists
channel[] = … twice becomes a two-item YAML list under channel:.
Ambiguous values are quoted
yes, no and #ops-alerts are written in quotes, so YAML does not read them as booleans or comments.
Types
Numbers and true/false are typed. Note that 1.10 becomes the number 1.1 — untick type detection to keep versions and ids as text.
Moving configuration to a new platform
A common use is containerising an old service. Its settings live in an INI file; the deployment wants them as a Helm values.yaml, a Compose file or a ConfigMap. Convert the file, then decide what should stay a file and what should become environment variables or secrets — passwords and tokens found in old INI files should not be committed in the new YAML. Comments are not carried over, so copy the ones that explain non-obvious settings.
Frequently asked questions
What is the difference between INI and YAML?
INI is a flat format: key = value pairs in sections, all values text. YAML is hierarchical, with nested mappings, lists and typed values, and uses indentation for structure.
Why is "yes" quoted in the output?
Older YAML parsers treat yes, no, on and off as booleans. Quoting keeps the value a string, identical to what the INI file said. If you do want a boolean, write true or false.
Does the converter keep comments?
No. INI comments are skipped. YAML supports comments with #, so you can add important ones back by hand.
Can it handle php.ini or my.cnf?
Yes for ordinary key = value lines and sections. Lines that are bare flags without a value, which my.cnf allows, need "= true" added first.