INI ↔ JSON Converter

Convert a documented, case-sensitive INI dialect to JSON and back, preserving string values and rejecting duplicate names or unsupported data types.

Loading tool module...

About this ini ↔ json converter

INI ↔ JSON Converter — browser-based utility.

How this tool works

Converts between an INI document and a JSON object. INI values remain strings, including numbers, dates and large integers. Keys and section names are case-sensitive; dots are literal characters. Root keys and one level of sections are supported. The converter uses its documented INI dialect, not a universal INI standard.

  1. Load the sample or enter [app], then name=CZOA and port=8787 on separate lines.
  2. Choose INI → JSON and Run locally.
  3. Check that name and port are JSON strings, then copy the output.

Worked example

Scenario: Load the sample or enter [app], then name=CZOA and port=8787 on separate lines.

Sample input:

[app] name=CZOA port=8787

Processing: Converts between an INI document and a JSON object. INI values remain strings, including numbers, dates and large integers. Keys and section names are case-sensitive; dots are literal characters. Root keys and one level of sections are supported. The converter uses its documented INI dialect, not a universal INI standard.

Illustrative output:

{ "app": { "name": "CZOA", "port": "8787" } }

Limits and verification

Input is limited to 1,000,000 UTF-16 code units; output to 8,388,608. Blank input and invalid Unicode are rejected. JSON must contain strings or one level of string-valued sections; arrays, null, numbers, booleans and deeper objects are rejected rather than coerced. Entries must start at column one. Only = separates keys and values; # and ; mark full-line comments. Duplicate or conflicting names, bracketed or padded names, NUL, multiline values and padded JSON string values are rejected. INI value padding is trimmed. Comments, formatting and key order are not preserved. Interpolation and DEFAULT inheritance are not performed; quotes and inline # or ; remain literal. No file upload or download is offered.

Examples demonstrate an expected workflow; they do not prove every input or every branch of an external specification. Check important results with an independent source before using them for money, security, compliance, safety, or irreversible file changes.

Browser processing boundary

Tool input is processed by code running in the browser and is not intentionally sent to a CZOA processing API. The page can still request ordinary site assets, analytics, or advertising when those services are enabled. Browser extensions and managed-device software remain outside this tool's control.

Relevant references

These references govern or help explain the format, protocol, or calculation used here. Listing a reference does not claim certification or complete implementation of every optional feature.

  • RFC 8259 (JSON syntax)
  • Documented CZOA INI dialect; Python configparser is an independent comparison parser, not a universal INI specification

Content owner: CZOA Tools · Last reviewed: 2026-09-15 · Review methodology

How to use it

  1. Load the sample or enter [app], then name=CZOA and port=8787 on separate lines.
  2. Choose INI → JSON and Run locally.
  3. Check that name and port are JSON strings, then copy the output.

Frequently asked questions

What JSON does this INI example produce?+

With `[app]`, `name=CZOA`, and `port=8787` in INI to JSON mode, output is an app object whose name is CZOA and port is the string `"8787"`.

Does INI to JSON infer numeric or Boolean values?+

No numeric inference occurs for the recorded port. INI values are text in this path, so apply schema typing after conversion if a consumer needs a number.

How do sections and comments affect INI conversion?+

Sections form object groups, while INI syntax and supported comments are parsed by the converter. It is not a complete configuration-schema validator or a promise to preserve every source layout detail.

Can JSON ↔ INI represent every JSON value?+

No. The supported mapping is deliberately constrained. Invalid Unicode, excess size, unsupported structure, or invalid INI/JSON input is rejected before output.