About the XML URL Decoder
Encoded XML turns up in access logs, webhook receipts and browser network tabs as an unbroken run of percent signs and hex digits. Reading it by eye is hopeless. This decoder reverses the escaping and then, by default, parses and indents what it finds, so you go from an unreadable line to a properly laid out document in one step.
Two options handle the usual complications. Values from an application/x-www-form-urlencoded body use a plus sign for a space, which is why plus handling is on by default. Values that passed through two systems are often encoded twice, showing telltale sequences such as %253C, and the repeat option keeps decoding until the text stops changing or no percent escapes remain. Paste a whole query string and type a parameter name to have that one value pulled out before decoding, which saves splitting the line by hand.
If the decoded text is not well formed XML the tool says so and repeats the parser message, which is usually enough to spot a truncated log line. Turn the pretty printing off in that case and you still get the decoded text back to inspect. A stray percent that is not followed by two hex digits is reported as a clear message rather than an unhandled exception. To produce these values in the first place, XML URL Encode does the reverse, and URL Parser breaks a whole address into its parts.
How to use
- Paste the encoded value, or paste a whole query string and type the parameter name you want.
- Leave Pretty print the result on to get indented XML instead of one long line.
- Tick Decode repeatedly when you see sequences like
%253C, which mean the text was encoded twice. - Copy the readable XML or download it as a file.
Common questions
- What does %3C stand for?
- It is the less than sign that opens an XML tag. Seeing lots of %3C and %3E is a reliable sign that a blob is encoded XML.
- When should I turn off plus handling?
- When the value came from a path segment rather than a form or query, because a plus in a path is a literal plus character.
- Why did pretty printing fail after a clean decode?
- The decoding worked but the text is not a complete well formed document, usually because a log line truncated it. Turn pretty printing off to see the raw text.
- Is there a size limit?
- Only what your browser can hold in memory. Everything runs locally, so nothing is sent anywhere and there is no upload cap.