HTML Unescape
Unescape a HTML string literal back to its original text, including unicode escapes.
Input
Output
Ready
Drop a file to load it
About this tool
Recover the original text from an escaped HTML string. Converts the five characters that can break out of markup or an attribute value.
When you would use it
- Reading an escaped HTML value from a log or config
- Recovering text pasted from source code
- Decoding a value before processing it
Worked example
<b>bold</b> & more
<b>bold</b> & more
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?
Converts the five characters that can break out of markup or an attribute value.
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