XML Tools
SOAP Formatter
Turn captured SOAP envelopes into readable XML — Header and Body cleanly indented, namespaces intact.
In short
Format SOAP envelopes online: beautify request and response XML, validate structure, and inspect Header and Body in a collapsible tree. Free, private.
By NaveenKumar T · Updated
Learn: XML Namespaces Explained: Prefixes, Default Namespaces and Common Errors
- Envelope-aware sample
- Namespace prefixes preserved
- Tree view of Header/Body
Runs entirely in your browser — nothing you paste or open here is uploaded, logged, or stored.How we handle data →
Example
SOAP Formatter: input and output
A captured SOAP request calling GetStock — the single-line shape you'd copy out of a network log.
<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:m="https://example.com/inventory"><soap:Header><m:RequestId>REQ-8841</m:RequestId></soap:Header><soap:Body><m:GetStock><m:Sku>MON-27U</m:Sku></m:GetStock></soap:Body></soap:Envelope><?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:m="https://example.com/inventory">
<soap:Header>
<m:RequestId>REQ-8841</m:RequestId>
</soap:Header>
<soap:Body>
<m:GetStock>
<m:Sku>MON-27U</m:Sku>
</m:GetStock>
</soap:Body>
</soap:Envelope>Header and Body separate onto their own indented blocks — RequestId in the Header, the GetStock operation and its Sku parameter in the Body — exactly the split you check first when debugging a SOAP call.
Learn more
Debugging SOAP by reading envelopes
SOAP debugging is envelope archaeology: did the Header carry the right credentials, did the Body contain the operation you intended, what fault detail came back? Captured messages are single-line and namespace-dense — formatted, the same envelope answers those questions at a glance.
The formatter validates as it works, so truncated captures (a cut-off </soap:Envelope> is common in size-limited logs) are flagged with the exact position instead of formatting misleadingly. Envelopes captured from a browser or a log are often Base64-wrapped or entity-escaped first: Base64 to XML decodes and validates in one step, and XML unescape turns `<soap:Body>` back into markup. The service contract itself opens in the WSDL formatter.
Envelope structure in 20 seconds
Everything in a SOAP envelope lives in <Envelope>: an optional <Header> for metadata (auth tokens, correlation ids, WS-* extensions) and a mandatory <Body> carrying the operation payload — or a <Fault> when things go wrong. Faults' faultcode and faultstring are the first things to read; the tree view puts them two clicks away.
| SOAP 1.1 | SOAP 1.2 | |
|---|---|---|
| Envelope namespace | http://schemas.xmlsoap.org/soap/envelope/ | http://www.w3.org/2003/05/soap-envelope |
| HTTP Content-Type | text/xml | application/soap+xml |
| Operation name carried in | separate SOAPAction header | Content-Type action parameter |
| Fault element names | faultcode, faultstring, faultactor, detail | Code, Reason (with Text), Node, Role, Detail |
Help
Frequently asked questions
Everything you need to know about the SOAP Formatter.
01How do I use the SOAP Formatter?
Paste a SOAP request or response (straight from logs or a network capture) and press Format. The envelope re-indents with Header and Body clearly separated; Tree view drills into the payload without the angle-bracket noise.
02Can I format SOAP messages copied from logs?
That's the primary use case. Log pipelines strip newlines, leaving envelopes as single lines. Paste the captured message; if escaping crept in along the way (\" or "), clean that first, then format. The result is the readable request/response you needed for debugging.
03Where is the error message in a SOAP fault, and why does its shape differ between services?
Inside <Body>, in a <Fault> element. SOAP 1.1 faults carry faultcode and faultstring; SOAP 1.2 faults carry Code and Reason (with a Text child) under the http://www.w3.org/2003/05/soap-envelope namespace. The envelope's own namespace tells you which version you're reading, and the tree view puts either pair two clicks from the top.
04How do I tell SOAP 1.1 from SOAP 1.2?
By the envelope's namespace and the request's Content-Type. SOAP 1.1 declares http://schemas.xmlsoap.org/soap/envelope/ and travels as text/xml with the operation named in a separate SOAPAction header. SOAP 1.2 declares http://www.w3.org/2003/05/soap-envelope and travels as application/soap+xml, with the action folded into a Content-Type parameter instead of a separate header.
Keep working
Related tools
WSDL Formatter
XML Tools
XML Formatter
XML Tools
Base64 to XML
Decode Base64 payloads to validated, formatted XML — the SAML/SOAP debugging shortcut — or encode XML for transport.
XML Escape
The five XML entities, handled both directions — make any text safe inside elements and attributes.
XML Parser
XML Tools
XML Viewer
XML Tools
Learn the format
Related guides
XML Namespaces Explained: Prefixes, Default Namespaces and Common Errors
What xmlns and xmlns:prefix do, how default namespaces scope and inherit, why attributes are excluded, and why XPath returns nothing on namespaced XML.
7 min readTutorial · Data FormatsXML Tutorial: Structure, Syntax & Survival Skills
A working developer's XML tutorial: elements, attributes, namespaces, escaping, and well-formedness rules — with the errors that actually break parsers.
2 min read