Developer Tools
HTML Escape and Unescape
Escape five HTML characters or decode named and numeric references in your browser. For ordinary HTML text and quoted attributes; not an HTML sanitizer.
Developer Tools
Escape five HTML characters or decode named and numeric references in your browser. For ordinary HTML text and quoted attributes; not an HTML sanitizer.
Paste text and choose Escape to replace five characters: & becomes &, < becomes <, > becomes >, " becomes ", and ' becomes '.
For example, <p title="Tom & Ana">Hello, world!</p> becomes <p title="Tom & Ana">Hello, world!</p>. This represents markup as text. Escaping an already escaped value adds another layer: < becomes &lt;.
Choose Unescape to decode 2,125 named HTML references, plus decimal and hexadecimal numeric references. A trailing semicolon is required. For example, Tom & Ana 🧪 becomes Tom & Ana 🧪. Names are case-sensitive; unknown names and references without a semicolon stay unchanged.
Conversion runs once: &lt; becomes <, not a less-than sign. Numeric references for zero, surrogate values or values above U+10FFFF become the replacement character U+FFFD. Some control values use the HTML character-reference mappings; for example, € becomes the euro sign. This tool is a text converter, not a complete HTML parser.
The escaped output is intended for ordinary HTML text and ordinary attribute values enclosed in quotes. Keep attribute names fixed and trusted. This conversion does not sanitize HTML, remove dangerous elements or make JavaScript, CSS, event attributes, unquoted attributes or URLs safe. A value such as javascript:alert(1) is not made safe for a link merely by escaping HTML characters.
Use context-appropriate encoding and validation in your application. Frameworks often escape text automatically, so manual escaping can produce unwanted double encoding. Decoded text may contain executable markup: do not insert it into an HTML execution context without the appropriate safeguards. This page displays results as text.
Escape accepts up to 100,000 UTF-16 code units. Unescape accepts up to 600,000; results are also bounded at 600,000. A supplementary character such as many emoji counts as two units. Unpaired surrogates are rejected. Changing the mode preserves your draft; Move result to input and reverse replaces the draft with the current result and switches modes. That action is unavailable when the next input would exceed its limit.
Copy the result, select it for manual copying, or download it as a UTF-8 text file. Clipboard completion may be delayed; wait for a pending copy before performing other clipboard operations. The download preserves result line endings and a leading U+FEFF, while display or clipboard destinations may normalize line endings. “Started” means the download was requested, not that the browser confirmed a saved file.
Conversion runs in your browser; the converter does not send your input or result to a server. The site still makes ordinary page and analytics requests. Keep sensitive content out of shared devices and shared clipboards.
URL Encoder and Decoder
Encode URI components or complete URIs, decode UTF-8 percent escapes, and copy or download results in your browser. Includes encodeURIComponent and encodeURI outputs.
JSON Formatter and Validator
Validate JSON syntax, format or minify it while preserving number notation, string escapes and duplicate keys. Preview your input and inspect its structure in your browser.
Questions or feedback? Contact NanToo