legacy in · modern api out

XML to JSON XML in. JSON out.

The legacy system spits XML. The new system speaks JSON. The translation is your problem. Morph maps the structure in your browser tab — attributes via @-prefix, text via #text, repeated elements as arrays, configurable conventions. The XML stays where it was. The JSON saves locally. No upload, no online queue, no API rate limit. Free for everything that runs on your device; AI is paid in credits.

01
PARSE

XML walked locally

Elements, attributes, text nodes, CDATA — all walked in-tab via fast-xml-parser.

Open the tool
Runs on your device · free · no account

What it actually does

02
MAP

Convention-aware

Attributes prefix with @. Text content keys as #text. Repeated children become arrays. Configurable.

03
EMIT

Pretty or compact JSON

Indented for readability. Minified for the wire. Both produce valid JSON.

04
BATCH

Folder in

Drop multiple XML files. Each becomes its own JSON. Free tier has no batch limit.

How it works

  1. Open morph.cool — browser only.
  2. Drop the .xml file or paste the content.
  3. Pick JSON as the output. Tune attribute and array handling.
  4. The .json downloads. Valid, well-shaped, ready for the API.
  5. The XML stays where it was. Nothing uploaded.
0Upload
∞Batch limit
1-clickExport

Why people leave the upload-and-queue tools

Most enterprise integrations end with the same problem: the legacy system speaks XML and the new system speaks JSON. Online converters queue. CLI tools require install. Morph runs fast-xml-parser via WebAssembly in your tab — attribute prefix configurable, array detection automatic, text content handling explicit.

Frequently asked

How are XML attributes represented in JSON?

Default convention: prefix with @. So becomes {"@id": "7"}. Configurable to other conventions.

Repeated elements?

Auto-detected as arrays. ab becomes {"items": {"item": ["a", "b"]}}.

Mixed content (text + child elements)?

Text content keyed as #text. Mixed content preserved as ordered arrays where needed.

Pretty-printed or minified?

Both. Default is pretty (2-space indent). Toggle for minified.

Can I batch?

Yes. Drop a folder of XMLs, get JSONs. Free tier has no batch limit.

Is there a free tier?

Yes. Everything that runs on your device is free with no cap. AI and server work is paid in credits, about a cent each.

Convert XML → JSON
Convert XML → JSON
Nothing leaves your device · Free for what you make, credits for what we run