Skip to main content

JSON to XML converter

Wrap a JSON document in XML elements under a root element you choose.

Processed in your browser. This file is converted on your device and is never uploaded.

Converter

Input

.json up to 25 MB. You can also drag a file here.

Options
JSON has no document element, so every output is wrapped in this one.

No file selected.

About this tool

Enterprise systems, SOAP services, RSS feeds, and many older integrations still speak XML. This tool converts a JSON document into indented XML so it can be handed to one of them.

JSON has no document element, so you choose the name of the root element that wraps the output.

Supported formats and limits

Input
.json
Output
.xml (application/xml)
Output name
The original name with the new extension, for example data.json becomes data.xml.
File size limit
25 MB
Processing
In your browser. The file is not uploaded.

JSON against XML

JSON and XML compared, feature by feature
FeatureJSONXML
Stored asPlain text, readable in any editorPlain text, readable in any editor
What it can holdValues nested inside valuesValues nested inside values
Numbers stay numbersYesNo
CommentsNoYes
Several in one fileNoNo
Published20011998

How to use it

  1. Choose a .json file, or switch to Paste text and paste the JSON directly.
  2. Enter a name for the root element.
  3. Select Convert, then download the .xml file.

Limitations

  • The mapping is not reversible on its own. XML distinguishes elements, attributes, and text nodes; JSON does not, so the structure has to be guessed when converting back.
  • Object keys become element names, so a key that is not a valid XML name, such as one starting with a digit or containing a space, produces XML that will not parse.
  • Arrays become repeated sibling elements. An empty array produces nothing at all, so the fact that the field existed is lost.
  • There is no schema, namespace, or DTD in the output.
  • Types are lost. Every value becomes element text.

Common problems

The file was refused before anything started.

JSON to XML converter checks the extension before it reads a byte, and it accepts .json. Browsers report file types inconsistently enough that the extension is what decides.

Rename the file if the extension is simply wrong, or convert it to one of those first. A file whose extension does not match its contents is refused for the same reason, and that one needs converting rather than renaming.

It said the file was too large.

The limit here is 25 MB. It is not a policy but a measurement: everything runs on your own device, and past that size a phone runs out of memory rather than finishing slowly.

Split the file, reduce it before converting, or use a desktop program for that one. A machine with more memory will manage more, but the limit does not know which machine it is on.

I selected several files and only one converted.

This tool takes one file at a time. Doing several at once would multiply the memory in use, which is the thing most likely to fail on a phone.

Convert them one after another. Nothing is kept between them, so there is no state to reset.

The tab reloaded itself part-way through.

The browser ran out of memory and restarted the page. At sizes approaching 25 MB this is the failure a phone hits first, and it looks like a crash rather than an error.

Try a smaller file, close other tabs, or run it on a computer. Nothing was uploaded or lost — the original file is untouched on your device.

The result opened in the wrong program.

The output is a .xml file, and your system opens that extension with whatever it was told to. Nothing about the conversion decides it.

Open it from inside the program you want, or change the default for .xml in your system settings. The file itself is correct.

Frequently asked questions

Is my file uploaded?
No. The conversion runs entirely in your browser. The file never leaves your device and no request carrying its contents is made.
Why must I name a root element?
An XML document must have exactly one outermost element. A JSON array or a plain value has no name of its own, so one has to be supplied.
Can I produce attributes instead of elements?
Yes, indirectly. A key beginning with @ is written as an attribute, which matches the convention the XML to JSON tool uses when reading attributes back.
Is the output valid XML?
It is well formed as long as your JSON keys are valid XML element names. Special characters in values are escaped for you.
Do I need to install anything or create an account to use JSON to XML converter?
No, to all of it. JSON to XML converter runs inside the browser you already have, with no sign-up, no download, no watermark on the result, and no cap on how many files you convert. There is nothing to uninstall afterwards either, because nothing was installed.
Does JSON to XML converter work offline?
Once the page has loaded, yes. The conversion runs on your device, so it needs no connection to do the work. The first visit fetches the page and the code that does the converting; after that a lost connection stops nothing, and a converted file appears exactly as it would online.
How large a file can JSON to XML converter handle?
The limit is 25 MB. It is a deliberate one rather than a technical ceiling: the real constraint is memory, and a file that decodes to more than the device can hold fails in a way that is hard to explain. Phones run out well before laptops do, which is why the limit is set where it is.
Can I convert several files at once with JSON to XML converter?
Not here: this tool takes one file at a time, because what it does depends on choices you make about that particular file. Convert them one after another, or look at the batch converters in the same category, which are built for a folder at a time.

Ads on this site

Advertising pays for this site. The ads may store cookies to choose what to show you and to avoid repeating themselves. Your files are not involved in any of it — they never leave your browser, whichever button you press, and every tool works either way.

What this covers