Since 2010 · Powering 2M+ tool runs every month
Since 2010
Add to Chrome

My Toolbox

Automatic Mode

No saved tools yet.

Go Premium
Related tools
TOML to JSON ConverterXML ValidatorCSV to JSON ConverterJSON Formatter/ValidatorXML Sitemap Generator
Home Page > Text Tools > Other Text Tools

XML to JSON Converter

Convert XML to JSON with four conversion styles - BadgerFish, Compact, JsonML and Preserve - plus an interactive tree view, smart type detection for numbers and booleans, attribute handling and line-aware error messages.

Free to useNo sign-up requiredInstant Results
XML to JSON ConverterTry it now — free ▼
📚 Try a Sample
XML

Embed XML to JSON Converter Widget

About XML to JSON Converter

Welcome to the XML to JSON Converter, a free online tool that transforms XML documents into clean JSON in seconds. Whether you are modernizing a legacy SOAP payload, flattening an RSS feed for a frontend, or preparing configuration data for a JavaScript consumer, this converter gives you four distinct output styles, smart type detection, an interactive tree preview, and detailed structure statistics all in one place.

Why Convert XML to JSON?

XML and JSON both represent structured data, but they come from different eras with different trade-offs. XML excels at describing mixed content, attributes, and documents with a formal schema. JSON is leaner, maps directly to JavaScript objects, and is the default for most modern web APIs. Converting XML to JSON lets you keep the data while swapping to a format that is faster to parse, easier to read, and simpler to consume in nearly every programming language.

What Is the Best Way to Convert XML to JSON?

There is no single canonical XML to JSON mapping because JSON has no native concept of attributes, mixed content, or ordered elements. This tool offers four well-known strategies so you can match the output to whatever your downstream consumer expects.

Style How it maps Best for
Standard
(BadgerFish)
Attributes use @ prefix, mixed text stored as #text. Repeated siblings become arrays. Lossless, predictable — the default when in doubt.
Compact Attributes merged into the same object as children. Text stored as _text. Repeated siblings become arrays. Clean, human-friendly JSON when you know there are no attribute/child name conflicts.
JsonML Each element is an array [tag, {attrs}, ...children], preserving element order exactly. Documents with mixed content, markup, or where order matters (HTML-like).
Preserve Every element becomes { tag, attributes, text, children } — explicit and verbose. Round-trippable conversion back to XML, or schema tooling that needs full structure.

Quick Comparison Example

Given this XML:

<book id="1"><title>1984</title></book>
Standard: {"book": {"@id": 1, "title": "1984"}}
Compact: {"book": {"id": 1, "title": "1984"}}
JsonML: ["book", {"id": 1}, ["title", "1984"]]
Preserve: {"tag": "book", "attributes": {"id": 1}, "children": [{"tag": "title", "text": "1984"}]}

Does the Converter Handle XML Attributes?

Yes. Every style preserves attributes. In Standard style they appear with an @ prefix so they do not collide with child element names. In Compact style they appear at the same level as children. In JsonML they live in the second position of the array. In Preserve style they are kept in a dedicated attributes object.

Can I Convert XML With Numbers and Booleans to Typed JSON?

Yes. Enable the Auto-detect Types option and the converter will cast strings like 42 to integers, 3.14 to floats, and true/false to JSON booleans. The literal null becomes JSON null. Disable the option if you need every value to stay as a string — useful for round-tripping back to XML where types are always textual.

What Happens With Repeated Sibling Elements?

When an element appears more than once under the same parent, the converter automatically groups the siblings into a JSON array under that tag name. A single occurrence stays as a single object, which matches how most JSON consumers expect the data to look.

Input: <list><item>A</item><item>B</item></list>
Output: {"list": {"item": ["A", "B"]}}

Does It Support XML Namespaces?

Yes. By default the converter strips the namespace URI and keeps only the local name for readability — so <soap:Body> just becomes Body. Enable Keep Namespace Prefixes to retain a short prefix derived from the namespace in the JSON keys when you need to distinguish elements from different namespaces.

How to Use This Tool

  1. Paste your XML: Copy your XML document into the input textarea, or click one of the sample buttons to load a ready-made example.
  2. Pick a conversion style: Standard is a safe default. Compact gives cleaner output when your schema avoids name collisions. JsonML preserves element order. Preserve is the most explicit.
  3. Set output options: Choose indent size (2 spaces, 4 spaces, a tab, or minified to a single line), whether to auto-detect numeric and boolean types, whether to sort keys alphabetically, and how to handle namespaces.
  4. Convert: Click Convert to JSON. The tool parses the XML, generates the JSON output, renders an interactive tree preview, and shows you element/attribute/depth statistics.
  5. Copy or download: Use the Copy JSON button for the clipboard or download the result as a .json file. The side-by-side tab helps you eyeball the before/after.

Practical Use Cases

For Developers

For Data Engineers

For Content and Config

Tips for Best Results

Frequently Asked Questions

Is My XML Data Kept Private?

Your XML is sent to the server only to be parsed and converted, then the response is returned. We do not store uploaded documents or log their contents. For highly sensitive data you can still use the tool offline by running the open-source server locally.

Is There a Size Limit on Input?

The tool accepts up to around 200 KB of XML per request, which is more than enough for typical configuration files, API responses, and RSS feeds. For multi-megabyte dumps, use a command-line tool.

What About XML Comments and CDATA?

XML comments are ignored because JSON has no comment syntax. CDATA sections are treated the same as regular text content — the characters inside the CDATA become part of the element's text in the JSON output.

Will the Conversion Round-Trip Back to XML?

Only the Preserve and JsonML styles guarantee a clean round-trip because they keep every piece of information (order, attributes, mixed text). Standard and Compact are lossy for edge cases such as text interleaved with elements.

Does It Work on Mobile?

Yes. The interface adapts to small screens — the layout stacks, the tree preview becomes scrollable, and the side-by-side view switches to a single column so you can still compare input and output.

What Errors Will I See for Malformed XML?

The parser reports the line and column where it gave up. Common causes are unclosed tags, mismatched brackets, stray ampersands, or missing quote marks around attribute values. Fix the reported line and try again.

Additional Resources

Reference this content, page, or tool as:

"XML to JSON Converter" at https://MiniWebtool.com/xml-to-json-converter/ from MiniWebtool, https://MiniWebtool.com/

by miniwebtool team. Updated: Apr 25, 2026

Other Text Tools:

Top & Updated:

JSON to CSV ConverterJSON to YAML ConverterJSON String Escape/UnescapeView all →
Home Page > Text Tools > Other Text Tools > XML to JSON Converter