How INI files are structured and parsed
What sections, keys, comments and quoting mean in an INI file, how they map onto JSON objects, and where the format runs out of room.
What an INI file is
INI is one of the oldest configuration formats, born in early Windows and still used by database drivers, Git, PHP and countless desktop apps. Its whole grammar fits in a sentence: a file is a list of key and value pairs, optionally grouped under bracketed [section] headers, with lines starting in a semicolon or hash treated as comments. That plainness is the appeal, because a person can open the file in any editor and understand it at a glance. The trade off is that there is no single official specification, so parsers disagree at the edges.
How sections map to JSON objects
This converter treats every [section] header as a key in the top-level object whose value is a nested object. Keys written under that header become properties of the nested object, and keys written before any header stay at the root. When the same header appears twice the two blocks are merged into one object, and when the same key appears twice the later value overwrites the earlier one. The result is the natural JSON shape most programs expect to load.
Value typing and quoting
By default the parser tries to give values real JSON types. The bare words true and false become booleans, and a string that is a clean number, including decimals and scientific notation, becomes a number. Surrounding quotes are removed from the final value, which lets you protect a string like a leading zero by wrapping it. If you would rather keep everything as text, turning off 'Parse values' skips the coercion entirely so nothing is reinterpreted.
Where the INI format runs out of room
INI shines for flat, shallow settings and struggles with anything deeper. There is no native way to write an array, so lists are usually faked with comma-separated strings or repeated keys, and there is no standard for nesting one section inside another. Because the format was never formally standardized, tools differ on whether they allow spaces around the equals sign, colon separators, or hash comments. When your configuration grows lists and deep trees, JSON or YAML is a better home, and this tool gives you the JSON starting point.