modern api · legacy xml

JSON to XML JSON in. XML out.

The new system speaks JSON. The legacy system only speaks XML. The integration is your problem. Morph translates the structure in your browser tab — root element, child elements, attributes, CDATA when needed. The JSON stays where it was. The XML saves locally. No upload, no online queue, no API rate limit. Free for everything that runs on your device; AI is paid in credits.

Drop a file here
JSON → XML
Choose a file
Reads and writes inside this tab. Nothing is sent anywhere.

What it actually does

01
PARSE

JSON read locally

Arrays, objects, nested structure — all walked in-tab. No upload.

02
MAP

Keys to elements

Object keys become element names. Array items become repeated elements. Configurable root and item names.

03
EMIT

Pretty or compact XML

Indented for human review. Compact for the wire. Both valid, both well-formed.

04
BATCH

Folder in

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

How it works

  1. Open morph.cool — browser only.
  2. Drop the .json file or paste the structure.
  3. Pick XML as the output. Tune root and item names if needed.
  4. The .xml downloads — well-formed, schema-clean.
  5. Send to the legacy system. The JSON stays untouched.
0Upload
∞Batch limit
1-clickExport

Why people leave the upload-and-queue tools

Most enterprise integration starts with the same sentence: "the new system speaks JSON, the old one only takes XML." Online converters queue. CLI tools require install and a learning curve. Morph runs the translator in your browser — fast-xml-parser via WebAssembly, well-formed output, configurable root and item names.

Frequently asked

How is this different from the converter sites or a command-line parser?

Online tools queue and watermark. CLI tools require install. Morph runs in your browser — drag, drop, download.

Can I customize element names?

Yes. Root element, item element (for arrays), and per-key overrides all configurable.

What about XML attributes vs. child elements?

Object keys prefixed with @ become attributes. The rest become child elements. Standard convention.

Pretty-printed or minified?

Both. Default is indented for readability. Toggle to compact for production payloads.

Is the output well-formed?

Yes. Special characters escaped, CDATA for free-form text, single root element. Validates against any XML parser.

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 JSON → XML
Convert JSON → XML
Nothing leaves your device · Free for what you make, credits for what we run