01
Choose a direction
Turn literal characters into entity references or decode references back into plain text.
Encode HTML-sensitive characters or decode named and numeric character references locally as plain text.
Special mode encodes &, <, >, double quote, and apostrophe. Unicode mode also creates hexadecimal numeric references for non-ASCII characters.
0 input characters
0 output characters
Decoded output is shown only as plain text and is never rendered as HTML. Entity encoding is not sanitization; safe HTML handling still depends on where and how content is inserted. Processing stays in your browser.
Your data is processed locally in your browser whenever supported and is not uploaded to our servers.
How it works
01
Turn literal characters into entity references or decode references back into plain text.
02
Encode only HTML-sensitive characters or also convert non-ASCII Unicode to numeric references.
03
Review the result as text, copy it, or move it back into the input to reverse the conversion.
Native HTML decoding
Encoding protects common HTML-sensitive characters. Decoding uses the browser's HTML parser for named and numeric character references, then reads the result only as plain textarea text.
Encodes ampersand, less-than, greater-than, double quote, and apostrophe.
Represents non-ASCII code points as hexadecimal numeric entities without splitting emoji.
Decodes standard browser-supported named references plus decimal and hexadecimal numeric references.
Decoded markup is displayed as text and is never injected into the page as executable HTML.
FAQ
Ampersand becomes &, less-than becomes <, greater-than becomes >, double quote becomes ", and apostrophe becomes '. Other characters remain unchanged.
It also converts each non-ASCII Unicode code point into a hexadecimal numeric character reference. An emoji remains one code point reference instead of being split into UTF-16 surrogate halves.
The decoder uses the current browser's HTML parser, covering standard named HTML character references and decimal or hexadecimal numeric references.
Not by itself. Correct escaping depends on whether data is inserted into HTML text, an attribute, a URL, CSS, JavaScript, or another context. Use a trusted context-aware sanitizer or framework for untrusted HTML.
No. The result is assigned to a controlled textarea value and displayed only as plain text, not rendered with innerHTML.
No. Encoding and decoding happen locally in your browser, and Got A Tool does not receive or store the text.
Keep working
Percent-encode or decode URL components and full URLs locally with strict Unicode validation.
Open tool βConvert text to uppercase, lowercase, title, sentence, camel, Pascal, snake, kebab, or constant case.
Open tool βEncode UTF-8 text to Base64 or decode validated Base64 text locally in your browser.
Open tool βGenerate placeholder text by words, sentences, or paragraphs with predictable local output.
Open tool β