Convert JSON into well-formed XML. Keys that start with @ become attributes, #text becomes the element's text, and a list becomes a repeated element. Keys that aren't valid XML names are adjusted, and the page tells you which.
How to use it
- Paste JSON or open a file.
- The XML appears. If anything had to change to fit XML, a note says what.
- Download the .xml file or copy it.
Private, and made for big files
This tool runs in your browser, in a background worker: nothing you paste or open is uploaded, and nothing is kept after you leave. JSON and XML input can be up to 1 GB, depending on available memory. Processing runs in a background worker; large analyses can take a minute or more. If your connection drops while you're here, the tool keeps working. When one tool isn't enough, GigaJSON opens your data with a tree, a table, JSONPath/JMESPath/jq queries, transforms, diff and history.
Questions
How is JSON mapped to XML?
Objects become elements, "@name" keys become attributes, "#text" becomes text content, and a list becomes the same element repeated. If the document isn't a single object with one key, it gets wrapped in <root>.
Is my data uploaded?
No. The tool runs in your browser, in a background worker. Nothing you paste or open goes to a server, and nothing is kept after you leave the page.
How large a file can it handle?
JSON and XML input can be up to 1 GB, depending on memory. CSV/YAML input and JSON repair are limited to 128 MB. Conversion runs in a background worker. jq, text editing and text-based exports have separate limits, shown when you use them.
All tools
- JSON FormatterIndent with 2 or 4 spaces, sort keys
- JSON ValidatorLine and column of the first error
- JSON MinifierRemove whitespace, see the bytes saved
- JSON RepairFixes quotes, commas, comments, AI output
- JSON Schema GeneratorA JSON Schema from examples
- Large JSON ViewerTree, table and search for huge files
- JSON Lines ViewerJSONL and NDJSON logs as a table
- JSON VisualizerThe data as a graph, PNG and SVG export
- JSON DiffChanges between two documents
- JSON Path FinderClick a value, copy its path
- JSONPath TesterJSONPath, JMESPath and jq, live
- JMESPath PlaygroundJMESPath, for AWS CLI queries too
- jq PlaygroundReal jq in your browser
- JSON to CSVNested objects become dotted columns
- CSV to JSONDelimiters detected, 007 stays 007
- JSON to XML@keys become attributes
- XML to JSONRSS feeds, sitemaps, SOAP responses
- JSON to YAMLReadable YAML, ambiguous strings quoted
- YAML to JSONAnchors and multiple documents
- JSON Lines to JSONNDJSON or JSONL into one array
- JSON to TypeScriptInterfaces inferred from your data
- JWT DecoderHeader, payload and expiry, locally
- JSON EscapeText to a JSON string and back
- Sample JSON FilesDownload test JSON, 100 KB to 1 GB
- Sample CSV FilesDownload test CSV, 100 KB to 1 GB
- Sample XML FilesDownload test XML, 100 KB to 1 GB
- Large JSON File GeneratorTest data from 100 KB to 1 GB