HTML Entity Encoder / Decoder
Encode text so special characters like `<`, `>` and `&` display safely inside HTML, or decode HTML entities like `&` and `<` back into readable text.
How to use
In Encode mode, characters that have special meaning in HTML (`<`, `>`, `&`, quotes) are replaced with their named entity equivalents (`<`, `>`, `&`, `"`, `'`) so the text displays as literal characters instead of being interpreted as markup.
In Decode mode, paste HTML source containing entities to see the actual characters they represent — useful for reading raw HTML exports, RSS feeds, or API responses where text comes back entity-encoded.
FAQ
Why do I need to encode < and & in HTML?
Because a raw `<` starts what looks like a tag to the browser, and a raw `&` can start what looks like the beginning of an entity — leaving them unescaped in text content can break the page's structure or, worse, allow injected markup to run when the text comes from user input.
Is this the same as URL encoding?
No — different problem, different characters. URL encoding (percent-encoding) makes text safe inside a URL; HTML entity encoding makes text safe to display inside an HTML document. Use whichever matches where the text is actually going.
What's the difference between named and numeric entities?
Named entities like `&` are more readable in source code; numeric entities like `&` (decimal) or `&` (hex) represent the same character by its Unicode code point and work even for characters that don't have a common named entity.
Is my text uploaded anywhere?
No — encoding and decoding happen entirely in your browser via standard DOM APIs. Nothing is sent to a server.