Skip to the tool
ToolOcean

JSON to XML

Paste JSON and download XML. Objects become elements, arrays become repeated tags, and this direction does not invent attributes. Open the XML to JSON page if you are starting from markup.

Runs in your browser. Nothing is uploaded.

How it works

  1. Step 1: Paste your inputPaste directly into the editor, drop a file onto it, or use "Open file" to pick one from your device. Nothing is sent anywhere when you do.
  2. Step 2: ConvertAdjust the options if you need to, then run it. Results appear beside your input so you can compare the two.
  3. Step 3: Copy or download the outputCopy the result to your clipboard in one click, or save it as a file. You can also keep editing and re-run as many times as you like.

About this tool

What JSON to XML writes

This address starts in JSON-to-XML. Objects become elements. Arrays become repeated tags with the same name. Attributes are not invented from key names, including keys that begin with @. If you need attributes preserved, you were going the other way: XML to JSON has the switch for that, and a round trip will still not be byte-identical.

Paste JSON or open a file. The result is XML text you can copy. It is not a schema-validated document and it is not a feed with a generated declaration beyond what the writer emits. The swap control will read XML. The canonical URL for that direction is XML to JSON. Start here when the thing in your clipboard is JSON and the consumer asked for elements.

Every result starts with an XML declaration for version 1.0 and UTF-8. An object with exactly one key uses that key as the document element. Several keys, an array, or null are wrapped in an element named root. A key that begins with a digit or contains a space is rewritten into a legal tag. Ampersands and angle brackets inside text are escaped. The download name is converted.xml.

  • Runs in your browser. All processing happens locally in this tab using JavaScript.
  • No uploads. Your data is never sent to a server. There is no server to send it to.
  • Works offline. Once the page has loaded you can disconnect and keep working.
  • Unlimited & free. No usage caps, no paywall, no file size tiers.

Start with your own data. Open a file

What happens to your data

The same questions a security review would ask, answered plainly.

Read via
Typed or pasted into the page
Held in
Your browser tab's memory for as long as it is open
Stored
Nothing. No cookies, no database, no server-side copy
Transmitted
Nothing leaves your device
Retained after you close the tab
Nothing
Works offline
Yes, once the page has loaded

Why use this tool

What you get here that a server-side alternative cannot offer.

  • Your data never leaves the tab

    There is no upload step and no server to receive one. The page loads once, then all work on your data happens in local JavaScript.

  • No caps or paywalls

    No daily limits, no per-file ceilings imposed by a server tier, no watermarks, and no account. The practical limit is your own device's memory.

Frequently asked questions

Is my JSON uploaded to a server?

No. Everything runs locally in your browser using JavaScript. Your data is never uploaded to a server, and nothing is stored or logged.

Can I choose attribute names on the way out?

No. This direction writes elements. If the JSON already uses a convention such as keys that start with @, that convention is not turned back into attributes here.

Why is a round trip not the same file?

Element order, namespaces, and the attribute-versus-child choice do not all fit in JSON. Expect a useful document, not a byte match.

How much data can I paste in?

There is no server-side cap. Very large inputs are limited only by your device's memory and will make the page feel slower, since the work happens on the main thread. In practice a few megabytes of text is comfortable.

Does it work offline?

Yes, once the page has loaded. The code that does the work is already in your browser at that point, so you can disconnect and keep using it. Reloading the page while offline needs the browser cache to still hold it.

Do I need to create an account?

No. There is no sign-up, no email, and no usage tracking tied to an identity. The tool works the first time you open it.