XML Unescape
Convert XML entities and numeric character references back into the characters they stand for.
Processed locally in your browser/ Your data stays in your browser.
What is XML Unescape?
XML text often reaches you in escaped form: feeds, SOAP payloads, database exports and logs contain sequences such as <div> or Café. Reading or reusing the content requires turning them back into < > and é.
This tool decodes the five predefined XML entities (&, <, >, ", ') and decimal or hexadecimal numeric references, including astral characters such as emoji. Named entities that XML does not define (for example © or ) are left unchanged and listed in a warning, and references to characters that XML forbids are not converted.
How does it work?
- Paste the escaped text.
- The decoded text appears immediately.
- Check the warnings for entities that were left unchanged.
- Copy the result, or Swap to escape it again.
Common use cases
- Reading escaped markup embedded in an RSS description or a SOAP field.
- Decoding text copied from an XML export or a log line.
- Converting numeric references such as é back into readable accents.
- Checking a round trip with the XML Escape tool.
Examples
Try this input in the tool above:
if (a < b && c > d) { print("Tom & Jerry's café ☺"); }if (a < b && c > d) { print("Tom & Jerry's café ☺"); }Privacy
XML Unescape runs entirely in your browser. The text or files you provide are processed on your device and are not uploaded, logged or stored on our servers.
Limitations
Only the five XML entities and numeric references are decoded. HTML named entities need the HTML Entities Decoder, and entities declared in a DTD are never resolved.
Frequently asked questions
Why is not decoded?
XML defines only five named entities, and is an HTML one. It is left as is and reported. Use the HTML Entities Decoder for HTML text.
Are double-escaped strings decoded twice?
No. &lt; becomes < after one pass, which is correct. Run the tool again if the text was escaped twice.
What about invalid numeric references?
References such as � or � do not correspond to characters allowed by XML 1.0. They are kept unchanged and reported.
Related tools
XML Escape
Make any text safe to place inside an XML element or attribute value.
JSON & Data
XML Formatter & Beautifier
Turn compressed or messy XML into a cleanly indented document that is easy to read and review.
JSON & Data
HTML Entities Decoder
Turn <, é, € and 😀 back into the characters they stand for.
Encoding & Decoding
JSON Unescape
Decode an escaped JSON string back into readable text, whether or not it is wrapped in quotes.
JSON & Data
Unicode Unescape Converter
Paste text full of \u00e9, U+1F600 or ☺ and read the real characters.
Encoding & Decoding
XML to JSON Converter
Turn an XML document into JSON, keeping attributes, repeated elements and text content in a predictable structure.
JSON & Data