JSON Converters Code Gen Formatters All tools Browse all tools built byAbhay Darji

JavaScript Unescape

Unescape a JavaScript string literal back to its original text, including unicode escapes.

100% client side No upload No size limit Works offline
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

Escaped JavaScript
He said \"hi\"\nC:\\temp
Text
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 n is 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

Tools that pair well with this