XML Escape
Escape text for a XML string literal — quotes, backslashes and control characters handled correctly.
Input
Output
Ready
Drop a file to load it
About this tool
Make arbitrary text safe to place inside a XML string. Uses only the five predefined entities, since XML defines no others without a DTD.
When you would use it
- Embedding text in XML source safely
- Preparing a fixture or test value
- Neutralising characters that would break the surrounding syntax
Worked example
He said "hi" C:\temp
He said "hi" C:\temp
Things worth knowing
- Escaping and unescaping are exact inverses: running one then the other returns your original text byte for byte.
- Unescaping is done in a single pass, so a literal backslash followed by
nis not mistaken for a newline — a bug that affects many escaping tools. - Emoji and other astral-plane characters are handled as surrogate pairs, so they survive the round trip intact.
Questions
Frequently asked
Does this round-trip exactly?
Yes. Escaping then unescaping returns your input unchanged, including backslashes, newlines and emoji. That property is covered by the test suite.
Which characters get escaped?
Uses only the five predefined entities, since XML defines no others without a DTD.
Is my data uploaded anywhere?
No. Every tool on JSONWorks runs entirely in your browser using JavaScript. Your input is never sent to a server, never logged and never stored. The simplest proof is to disconnect from the internet — the tools keep working. The site does load Google Fonts and a Google Analytics page-view tag, so you will see those two requests in your network tab, but neither receives anything you type or paste.
Related