Repeated sibling elements with the same tag are grouped into JSON arrays. Single-child containers are also detected as arrays when all children share one tag — so a list with one item stays a list.
Numeric XML tags like _0, _1 (produced by JSON→XML from numeric-string keys) are correctly restored back to "0", "1".
Choose how XML attributes map to JSON: as @-prefixed keys (default), plain keys, or ignored entirely. Mixed text+attribute elements use a configurable text key.
XML text values that look like numbers, booleans, or null are automatically converted to proper JSON types. true→true, 1280→1280. Disable to keep all values as strings.
When a parent element contains multiple children with the same tag name, they are grouped into a JSON array. Additionally, when a parent element contains only same-named children (even just one), those children are also treated as an array — preserving list structure for single-item collections.
Yes. JSON keys starting with a digit (e.g. "0") are prefixed with underscore by JSON→XML (_0). This converter detects that pattern and restores the original key. Arrays are preserved through both directions.
Removes the outermost XML element wrapper so JSON output starts from its children directly. Useful when the root tag (like <root>) is just a container.
No. All conversion happens entirely in your browser using JavaScript. Your XML never leaves your device.