Flatten a YAML file into INI sections and key = value lines
Runs in your browser. Nothing you type is sent anywhere. Updated on 24 Oct 2026.YAML nests as deep as you like and INI has exactly one level of sections, so this is a flattening rather than a translation. Levels below the first become dotted section names, lists become JSON text on a single line, and comments go. It is worth doing when an older program insists on .ini and the configuration you have is already in YAML.
The page opens with YAML under From and INI under To.
Paste your YAML config into the YAML input pane, or press Open file to load a .yaml file.
Read the INI on the right: levels below the first become dotted section names and lists become JSON text on one line.
Press Copy INI, or Download INI to save the .ini file.
This converter moves structured data between JSON, YAML, XML, CSV, TSV, TOML and INI in every direction that makes sense: forty of the forty-two possible pairs. Paste the data or open the file and it works out which format it is from the content itself, not from the name on the end of it, then offers the conversion people usually want next. If the guess is wrong, one tap fixes it.
The difficult part is not parsing. It is being honest about shape. CSV and TSV are rows of columns; JSON, YAML, TOML and XML are values inside values; INI is one flat level of named sections. Moving between those shapes always decides something on your behalf, so every conversion prints one line saying what it decided: which list became the rows, which nested objects became dotted columns such as address.city, which keys were left out and why. A list inside a cell becomes JSON text rather than disappearing.
Anything a target format cannot hold is named rather than dropped quietly. TOML has no empty value, so each null is listed by the key it came from. XML has no types and no lists, so a repeated tag is the only list it can write, and attributes become keys marked with an at sign. Comments in YAML, TOML and INI go, because nothing else here has a place to keep them.
The rest of the article, and all 8 questions about Data Converter, are on the Data Converter page.
JSON, YAML, XML, CSV, TSV, TOML and INI, in forty of the forty-two possible directions. The two it refuses are CSV to INI and TSV to INI, because INI holds named sections and spreadsheet rows have no names, so every row would need an invented heading such as [row_1].
No, and the tool says so each time. YAML, TOML and INI allow comments; JSON, CSV and TSV have nowhere to put them, and nothing records which value a comment belonged to. XML comments go the same way. Everything else is kept, and anything that could not be written is named rather than quietly dropped.
An attribute becomes a key with an at sign in front of it, so id="7" becomes "@id": 7. Text sitting beside child elements is kept under a #text key. A tag that appears more than once becomes a list; a tag that appears once stays a single value, because the document never said it was a list of one.
Both. Drop or open a .json, .yaml, .xml, .csv, .tsv, .toml, .ini or .cfg file and it is read on your device. The format is worked out from the content rather than the extension, so a file saved with the wrong name is still read correctly, and the tool says when the name and the content disagree.
Still stuck? Ask about Data Converter and anybody who knows can answer. No account needed.
Same job, other tools: JSON to YAML – Turn JSON into clean, readable YAML for configs · YAML Validator – Check YAML syntax and see the exact line and column of each error.
On the related tools: TSV to JSON – Convert tab-separated values, such as a paste from Excel, into JSON.
In the collections JSON Tools · Developer Converters.