Add your input
Plain text to escape, or text containing entity references.
Move text in and out of markup without breaking the page.
Decoded output is shown as text and is never inserted into the page as markup.
Your work stays private in your browser while you use this tool.
The HTML entity encoder escapes the five characters that change meaning inside markup — & < > " and ' — so text can be placed in a page safely, and decodes named, decimal, and hexadecimal entity references back to the characters they stand for. Decoded output is shown as text and is never inserted into the page as markup.
Plain text to escape, or text containing entity references.
Move text in and out of markup without breaking the page.
Escaped markup or the decoded characters, as text.
Decoded output is shown as text and never inserted into the page as markup.
Escape a code sample so angle brackets display instead of being parsed as tags.
Read what an entity-encoded string from a feed or export actually says.
Check whether a value has been double-encoded before it reaches a template.
Encoding walks the input character by character, replacing markup-significant characters with their named references; the optional wider scope also converts every non-ASCII character to a numeric reference. Decoding runs a single pass, so &lt; becomes < rather than <, which keeps the operation reversible. Named references resolve from an explicit table, numeric ones are parsed in decimal or hexadecimal, and anything unrecognised is left exactly as written.
Yes. HTML entity encoder is free to use.
Yes. Your work stays private while you use the tool — nothing you enter is uploaded.
No. The decoded value is returned as a string and rendered as text content, never assigned as markup, so a decoded script tag is displayed rather than executed.
Decoding is deliberately a single pass. &lt; is the encoded form of the text <, so one pass returns that text. Running a second pass would make the operation lossy and unable to represent a literal entity reference.