XML to JSON

Turn XML into readable JSON without uploading the file. Attributes, repeated child elements and text are preserved explicitly.

What this tool actually does

XML → JSON creates a new file in the target format; it does not merely rename the extension. MakeFileWork processes the source in the browser where this conversion supports local execution and keeps the job bounded so a single file cannot consume unlimited memory or CPU.

How the result is verified

Before download, the engine re-serializes, reopens, parses or otherwise checks the output according to the format. The result shows concrete evidence such as pages, structure, extracted text or generated format instead of treating any downloadable blob as a successful conversion.

Limits and fidelity

Formats do not represent every feature in the same way. Layout, fonts, animation, formulas, metadata, transparency or interactive elements can change when the destination cannot preserve them. The tool does not promise fidelity that the target format cannot support and calls out known trade-offs.

When to use this workflow

Use this workflow when another application, device or upload portal requires the target format and you need a newly generated, verifiable file. If the rejection also specifies KB/MB, pixel dimensions or other measurable limits, use the upload-requirement workflow to validate those constraints together.

Privacy and final verification

Keep the original file until the output has been reviewed in the destination application or portal. Supported workflows process locally in the browser and enforce bounded size and complexity limits. For XML → JSON, verify that the generated format preserves the properties that matter for your use case. For important data, compare a representative sample and confirm that format, content and quality meet the actual requirement before replacing the source file. Also open the generated file in the destination application when compatibility, colour, transparency, layout or compression matters.

Predictable mapping

Attributes use an @ prefix, repeated elements become arrays, and text-only content uses #text. Mixed content with child elements is rejected to prevent loss of text order.

Bounded and defensive

Input is limited to 10 MB, 100,000 XML nodes and 128 nesting levels. DTD and ENTITY declarations are rejected instead of resolving external or custom entities.

Need the reverse conversion? Convert JSON to XML.

When conversion is rejected

XML with mixed text and child elements is rejected because a plain JSON object cannot retain the original text order. Undefined entities, duplicate attributes, malformed quotes and closing tags are rejected. Attribute values containing a greater-than sign are supported.

Element names that resemble JavaScript properties

Elements named constructor, toString or __proto__ are kept as ordinary JSON keys, including repeated elements. XML comments and processing instructions are rejected rather than silently removed, because this mapping has no field for that metadata.

Namespace prefix validation

Prefixes must be declared in scope. Attributes with different prefixes but the same expanded namespace name are rejected as duplicates. Reserved xml and xmlns bindings are validated. Namespace declarations remain explicit @xmlns keys in JSON; verify the receiving system’s schema.

Indented XML versus significant whitespace

Pretty-printed XML such as <root><a>one</a><b><c/></b></root> can be converted even when text appears inside one sibling and nested elements appear in another. These are separate parent elements, not mixed content. Ordinary indentation between child elements is ignored in this JSON mapping.

When xml:space means the file must stay XML

With xml:space="preserve", even whitespace around child elements may be meaningful. If that preserved whitespace is interleaved with children, conversion stops rather than silently discarding it. A child with xml:space="default" can reset inherited preservation. If you need to retain the exact document structure, use XML formatting rather than conversion; for compatible structured data, see JSON to XML.