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 ConverterCSV to JSON ConverterXML ValidatorJSON Formatter/ValidatorXML Sitemap Generator
Home Page > Text Tools > Other Text Tools

XML to JSON Converter

MiniWebtool’s XML to JSON Converter offers BadgerFish, Compact, JsonML, and Preserve styles. Choose attribute, namespace, and type-detection settings, then inspect the JSON and interactive structure view or line-aware parsing errors.

Need help using this tool? Ask AI

For Gemini, paste the copied question into the chat. You can also copy it below.

View the question

3 free uses dailyNo sign-up requiredInstant Results
XML to JSON ConverterTry it now — free ▼
The Bookstore XML converts to JSON with 11 elements and 4 attributes

Paste XML or load a sample, choose the JSON style, the indent and whether to detect numbers, then convert. The result gives the JSON, a tree view and stats.

📚 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.

At a Glance

XML to JSON Converter turns pasted XML into JSON using one of four mapping styles: Standard (BadgerFish-style), Compact, JsonML or Preserve. It shows the JSON, an XML tree and line-aware parse errors.

XML to JSON Converter: features at a glance
FeatureWhat you getGood for
Four stylesStandard uses @ for attributes and #text for text. Compact merges attributes with children. JsonML keeps element order as arrays. Preserve gives tag, attributes, text and children objects.Matching the JSON shape your code expects
Repeated elementsSibling elements with the same name become an array. A single occurrence stays a single object.Converting lists, feeds and item collections
Type detectionOptionally converts values like 42, 3.14, true, false and null into JSON numbers, booleans and null. Turn it off to keep every value a string.Keeping values such as 012345 unchanged
Output formatIndent with 2 spaces, 4 spaces or a tab, or minify to one line. Keys can be sorted alphabetically.Stable output for diffs and version control
NamespacesPrefixes are stripped by default, so soap:Body becomes Body. Turn on prefix retention to tell namespaces apart.Converting SOAP and other namespaced XML
Views and samplesSwitch between JSON output, an XML tree and a side-by-side view, or load a sample: Bookstore, RSS Feed, SOAP Envelope, App Config or SVG.Checking the structure before and after
Errors and limitsMalformed XML is reported with line and column. Input is accepted up to about 200 KB, and results can be copied or downloaded as a .json file.Fixing broken markup and exporting the result

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.

XML to JSON Converter: What Is the Best Way to Convert XML to JSON?
Style How it maps Best for
Standard
(BadgerFish-style)
Attributes use @ prefix, mixed text stored as #text. Repeated siblings become arrays. Strict BadgerFish keeps text under $; this style uses the more common #text key. 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.

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

Chat with your favorite AI

For Gemini, paste the copied question into the chat. You can also copy it below.

View the question

Other Text Tools:

Top & Updated:

JSON to YAML ConverterJSON to CSV ConverterJSON Schema GeneratorView all →
Home Page > Text Tools > Other Text Tools > XML to JSON Converter