JSON to INI Converter
Convert JSON to INI format online. Nested objects become [sections], with dotted names for deeper nesting — all in your browser.
Features
📐 Clean Section Structure
- Top-level scalars become global keys
- Objects become
[section]blocks - Dotted names for nested sections
- Scalar arrays comma-joined on one line
⚡ Privacy-First
- All conversion happens in your browser
- No data ever sent to a server
- Pairs with our INI to JSON converter
- Download or copy the resulting INI instantly
🔧 Legacy-System Friendly
- PHP
parse_ini_file()compatible output - Works with Windows-style config files
- Human-readable, comment-friendly format
- Simple key=value syntax, no brackets or braces
JSON to INI Guide
INI files predate JSON by decades and remain the configuration format of choice for a lot of older and simpler tooling — PHP's php.ini, many Windows applications, game engines, and countless CLI tools that want something a non-programmer can edit in Notepad. Unlike JSON, INI has no native nesting beyond a single level of [section] headers, no native array type, and no formal type system — everything is really just text.
This converter maps your JSON onto that simpler model as sensibly as possible: top-level scalar fields become "global" keys that appear before any section header (since not every INI parser supports keys outside a section, but most do), each top-level object becomes a [section], and objects nested more than one level deep get dotted section names like [profile.release] — the same convention this site's JSON to TOML converter uses, so if you're already familiar with that output this will look immediately familiar. Arrays of plain values (strings, numbers, booleans) are written as a single comma-separated line, since that's the closest thing to a "standard" INI array convention in practice, even though it isn't part of any formal INI specification.
Frequently Asked Questions
Why can't JSON arrays of objects convert cleanly?
INI genuinely has no standard for representing a list of structured records — there's nothing equivalent to TOML's [[array-of-tables]]. Because of that, this converter's root value must be an object, matching the same constraint most INI-producing tools apply.
Will the output work with PHP's parse_ini_file()?
Yes for single-level sections — PHP's INI parser reads [section] blocks natively. Note that PHP's own INI parser does not support the dotted [a.b] convention for deep nesting used here; if you need multiple levels with PHP specifically, flatten your JSON to a single level of nesting before converting.
What happens to null values?
Since INI has no null type, a null value is written as an empty value (key=), which most INI parsers read back as an empty string.
Are keys and values quoted in the output?
No — this converter writes plain unquoted key=value lines, since most INI parsers (including PHP's) accept unquoted values by default and quoting isn't part of any single agreed-upon INI standard. If your target application specifically requires quoted string values, wrap them manually after conversion.