Processed in your browser

XML / INI Converter

XML attributes use @attributes and text uses #text. XML export to INI accepts root scalars and one scalar section level; reverse conversion requires one section that can become the XML root.

Processed in your browser
0 / 1,000,000
Converted output

Tool guide

What is XML / INI Converter?

XML and INI Converter targets migration of straightforward application settings. It uses @attributes and #text for XML attributes and text, rejects DTD and ENTITY declarations, and limits the object to root scalars plus one INI section level. Reverse conversion requires one root section instead of guessing an XML root element. Common workflows include the following. Migrate simple XML configuration to INI. Generate XML for a legacy consumer. Review attributes, text, and section depth. The page also documents input boundaries, output behavior, and practical cautions so you can review the result before putting it into an application, configuration, test, or production workflow.

When to use it

  • Migrate simple XML configuration to INI.
  • Generate XML for a legacy consumer.
  • Review attributes, text, and section depth.

How to use it

  1. Choose XML or INI direction.
  2. Confirm the XML object has only one section level.
  3. Provide one root section for INI to XML.
  4. Convert and inspect duplicate keys or invalid names.
  5. Review string typing against the destination application.
  6. Load one of the realistic examples first to verify the selected options and processing direction before replacing it with your own data.

Runnable examples

The “Example 1” and “Example 2” buttons load the matching inputs. They cover different structures, directions, or boundaries and can be run directly in the workspace.

Example 1

<site><name>JSONLane</name><tools>60</tools><ready>true</ready></site>

Example 2

[site]
name=JSONLane
locale=en

Input rules

  • XML cannot contain DTD or ENTITY declarations.
  • XML to INI allows root scalars and one scalar object level.
  • INI to XML must form one root key.
  • Text input is counted before processing and is limited to 1,000,000 characters on this page; file modes apply the separate file limit shown in the workspace.
  • INI represents root scalars and one scalar section level only.

Output rules

  • XML attributes enter @attributes.
  • Imported INI values remain strings.
  • Comments, namespaces, and source layout are not retained.
  • Output reflects only the current input, direction, and options; rerun after changing a mode or value instead of treating an earlier result as current.
  • Imported INI values remain strings.

Limitations and cautions

  • INI represents root scalars and one scalar section level only.
  • Imported INI values remain strings.
  • XML comments, namespaces, and mixed content cannot round-trip losslessly.

How your data is handled

All parsing, format conversion, Base64 work, and intermediate data remain in the current browser tab. JSONLane does not upload the input or retain it after refresh or close.

FAQ

Is XML or INI content uploaded?

No. Parsing, conversion, and output generation remain in the current browser tab.

Is every round trip lossless?

No. Comments, layout, type systems, and binary capabilities differ, so the page lists areas that require review.

Why can valid input still be rejected?

The destination may not have a safe, unambiguous representation. Dangerous keys, unsafe integers, excess depth, and ambiguous mappings are rejected.

How do XML attributes enter INI?

They remain under @attributes; if that creates more than one object level, INI conversion rejects it explicitly.

Why does INI need one root section?

XML requires one root element, and one root section supplies its name without guessing.

Why do numbers become strings?

INI has no universal type system, so strings protect ports and leading-zero identifiers.

Updated: 2026-08-09