JavaScript Unescape
Unescape a JavaScript 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 JavaScript string. Also neutralises `<` and `>` so an embedded `</script>` cannot end an inline script block early.
When you would use it
- Reading an escaped JavaScript value from a log or config
- Recovering text pasted from source code
- Decoding a value before processing it
Worked example
He said \"hi\"\nC:\\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. - Angle brackets are escaped so an embedded
</script>cannot terminate an inline script block early.
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?
Also neutralises
< and > so an embedded </script> cannot end an inline script block early.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