Scrapers / Developer & File Tools

JSON to XML & XML to JSON Converter
hipersoft/json-xml-converter
Convert JSON to XML or XML to JSON, both ways, with attributes preserved and pretty-printing. Auto-detects the input format. Paste content, pass a list, or fetch from a URL. Great for APIs, SOAP, RSS, config and legacy integrations. Download the result as a file or inline JSON, CSV or Excel.
Total users
1Monthly users
1Total runs
50Per document converted
$0.002Last rebuilt
Oct 26, 2026Overview
Convert JSON to XML and XML to JSON in either direction with the JSON / XML Converter. Paste your content, pass a whole list, or fetch it from a URL โ the converter auto-detects the format, preserves attributes, and pretty-prints the result. Download each conversion as a ready file or as inline data in JSON, CSV or Excel.
Perfect for API and webhook integrations, SOAP and legacy systems, RSS/Atom feeds, config-file conversion and data-pipeline glue in n8n, Make and Zapier, it turns one format into the other with zero code.
What it does
- ๐ Both directions โ JSON โ XML and XML โ JSON.
- ๐งญ Auto-detect โ figures out whether your input is JSON or XML and converts the other way.
- ๐ท๏ธ Keeps attributes โ XML attributes map to JSON keys (and back) using a configurable prefix.
- โจ Pretty-print โ clean, indented output that's easy to read and diff.
- ๐ Batch & URL โ convert one document, a list of documents, or fetch a document from a URL.
- ๐ File + inline output โ each result is saved as a downloadable file and (when small) included inline in the dataset.
- ๐ค Export anywhere โ JSON, CSV or Excel, or wire the output field into the next step of an automation.
Example
XML in
<catalog><book id="1"><title>Node</title><price>29.99</price></book></catalog>
JSON out
{ "catalog": { "book": { "title": "Node", "price": 29.99, "@_id": 1 } } }
How to use it
- Paste your content (or add a list, or a URL to fetch).
- Choose a direction โ Auto, JSON โ XML, or XML โ JSON.
- Optionally set pretty-print, a root element name (for arrays), and the attribute prefix.
- Run, and download the converted file or read it from the results.
Input fields
| Field | Description |
|---|---|
| Content | The JSON or XML to convert. |
| Multiple documents | Optional list of documents to convert in one run. |
| Fetch from URL | Optional URL to a JSON/XML document. |
| Direction | Auto-detect, JSON โ XML, or XML โ JSON. |
| Pretty-print | Indent the output. |
| Root element name | Wrapper name when JSON has no single root (e.g. an array). |
| Attribute prefix | JSON keys with this prefix become XML attributes (default @_). |
Output fields
index, ok, from, to, bytesIn, bytesOut, error, fileKey, fileUrl, output (inline for small results).
Popular use cases
- API integration โ bridge a JSON service to an XML/SOAP endpoint or vice versa.
- Feed processing โ turn RSS/Atom XML into JSON for downstream steps.
- Config conversion โ move between JSON and XML configuration formats.
- Legacy systems โ adapt modern JSON payloads to XML-only backends.
- Automation glue โ a conversion step inside an n8n, Make or Zapier workflow.
FAQ
Do I need an account or key? No. Paste your content and run.
Are XML attributes preserved?
Yes โ attributes convert to JSON keys prefixed with @_ (configurable) and back to attributes on the return trip.
Can I convert many documents at once? Yes โ add a list of documents and each is converted independently, with its own downloadable file.
Where does the converted file go? Each conversion is saved to the run's storage with a direct download link in the results; small results are also included inline.
Can I export to Excel or Google Sheets? Yes โ the results table downloads as JSON, CSV or Excel and integrates with Sheets and automation tools.
Convert JSON โ XML both ways โ attributes preserved, auto-detected, pretty-printed and export-ready for APIs, feeds and automation.
Input
| Field | Type | Description |
|---|---|---|
contentContent | string | The JSON or XML to convert. Paste it here. For multiple documents use the list below, or fetch from a URL. |
contentsMultiple documents | array | Optional โ a list of JSON/XML documents to convert in one run. Each is converted independently. |
contentUrlFetch from URL | string | Optional โ a URL to a JSON or XML document to fetch and convert. |
directionDirection | string ยท auto, json2xml, xml2json | Which way to convert. Auto-detects from the input when set to Auto. Default: "auto" |
prettyPretty-print | boolean | Indent the output for readability. Default: true |
rootNameRoot element name (JSON โ XML) | string | Wrapper element name used when the JSON has no single root (e.g. an array). Default: "root" |
attributePrefixAttribute prefix | string | JSON keys starting with this prefix become XML attributes (and vice versa). Default '@_'. Default: "@_" |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~json-xml-converter/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"content": "{\"book\":{\"@_id\":\"bk101\",\"title\":\"XML Developer's Guide\",\"author\":\"Gambardella, Matthew\",\"price\":44.95}}"
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/json-xml-converter").call(run_input={
"content": "{\"book\":{\"@_id\":\"bk101\",\"title\":\"XML Developer's Guide\",\"author\":\"Gambardella, Matthew\",\"price\":44.95}}"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/json-xml-converter').call({
"content": "{\"book\":{\"@_id\":\"bk101\",\"title\":\"XML Developer's Guide\",\"author\":\"Gambardella, Matthew\",\"price\":44.95}}"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Document converted Charged for each document converted. | $0.002 | $0.001 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Bulk Image Downloader
Download thousands of images from a list of URLs and store each in the key-value store with a public link. Returns content type, size, dimensions and SHA-256 per image. Bulk-ready. Great for datasets, backups and media pipelines.
8,102 runs ยท 103 users ยท $0.056 / url processedText to Speech
Convert any text to natural-sounding speech as an MP3 download. 300+ premium neural voices across 70+ languages, adjustable rate, pitch and volume. Great for voiceovers, videos, accessibility and audio content. No setup.
278 runs ยท 22 users ยท $0.01 / audio generatedGoogle Maps Email Extractor
Search Google Maps for businesses, then crawl each business website to extract emails, social profiles and extra phone numbers. Turns any Maps search into a ready lead list. No setup.
159 runs ยท 8 users ยท $0.006 / business lead scrapedWebsite Screenshot
Capture full-page or viewport screenshots of any URL as PNG or JPEG, at any device size. For monitoring, previews, thumbnails and automation workflows.
156 runs ยท 3 users ยท $0.004 / screenshot capturedBulk URL Status Checker
Check thousands of URLs over plain HTTP: status codes, broken links (404/410/5xx), full redirect chains, response time, content type, page title and SSL certificate expiry.
154 runs ยท 13 users ยท $0.002 / url checkedGoogle Search Scraper
Scrape Google Search results (organic listings) for any query: title, URL, displayed URL, snippet and position. Multi-query, per-country/language, pagination. Uses Google SERP proxy โ reliable, no captcha, no setup.
121 runs ยท 8 users ยท $0.001 / result scrapedSend the site and the fields. We build it and you get it first.