JSON to INI
Convert JSON into INI config. Top-level scalar keys become bare lines; top-level objects become [sections] with dot-flattened keys inside. Pairs nicely with config loaders like Python's configparser.
JSON in, INI out
See exactly how JSON maps onto INI — the converter on this page produces output identical to the example below.
{
"app": { "name": "myapp", "debug": true, "version": "1.2.3" },
"database": { "host": "localhost", "port": 5432, "ssl": false }
}[app] name=myapp debug=true version=1.2.3 [database] host=localhost port=5432 ssl=false
What you'll use this for
Converting JSON to INI is a daily task in API integration, config management, and data pipelines.
API integration
Generate INI configs from JSON returned by config services.
Config migration
Move modern JSON config into legacy INI-consuming tools.
Data import
Feed initialization files to setup scripts and Python apps.
CI pipelines
Script INI generation as part of release builds.
How to convert JSON to INI
Paste your JSON
Drop it into the left editor. The sample is loaded by default — clear it or click the wand to reload.
Click Convert
Or leave auto-convert on for live updates. Conversion runs entirely in your browser — no upload.
Copy or download
Copy to clipboard or save the output as config.ini.
Reverse if needed
Jump to the INI to JSON converter for a round-trip check.
Frequently asked questions
INI is text-only. Numbers and booleans are stringified — your loader handles parsing back.
Top-level objects become [section] headers. Deeper nesting is dot-flattened inside the section.
Yes. No signup, no limits.
You'll see a clear parse error in the output panel.
Use the INI to JSON converter for the opposite direction.
About JSON and INI
INI is a simple key=value format with optional [section] headers — long-popular for Windows software and still common in Python (configparser), PHP (php.ini), and many CLI tools.
Common pitfalls
- INI has no formal spec — dialects differ on comments, quoting, and lists.
- Arrays aren't natively supported; they're serialized as JSON strings.
- Deeply nested JSON flattens to dotted keys inside each section.
- Use
configparserorini(npm) for parsing back.