HTML Entity Encoder & Decoder

Encode text to HTML entities or decode entity strings back to plain text — named, decimal, and hex references, all client-side.

Reserved characters onlyEncodes only & < > " ' — safe for UTF-8 pages, keeps output human-readable.
Plain text
Encoded entities

Your Data Never Leaves Your Device

Every tool runs entirely in your browser. Nothing you type is uploaded, stored, or logged on our servers.

100% Client-Side

The HTML Entity Encoder & Decoder converts text to and from HTML character references — the escaped form required whenever literal &, <, >, ", or ' characters need to appear safely inside HTML markup instead of being interpreted as part of the document structure.

By default it encodes only the five reserved characters, keeping output readable for modern UTF-8 pages. Switch on Full mode to also convert every non-ASCII character into a named entity (like &copy;) or a numeric reference (like &#8364;) — useful for legacy systems or non-UTF-8 documents. Decoding recognizes named, decimal, and hexadecimal entity formats and resolves them back to plain text. Everything runs locally in your browser.

FAQ

Named entities use a mnemonic like &amp;copy; for readability, decimal entities use a code point like &amp;#169;, and hex entities use &amp;#x000A9; — all three represent the exact same character and this tool decodes all of them interchangeably.

Use Full mode only if your page isn't served as UTF-8 or you need maximum compatibility with old systems — it encodes every non-ASCII character as an entity. For modern UTF-8 pages, encoding just &amp; &lt; &gt; " ' keeps markup safe and output far more readable.

No. Encoding and decoding both run entirely in your browser using native browser APIs — nothing you type is ever sent to a server.

Those characters have special meaning in HTML markup — an unescaped &lt; or &amp; can break the page's structure or, worse, open the door to injected markup. Encoding them as entities renders them safely as literal text.

It decodes using the browser's own HTML parser, so any entity your browser recognizes — including unterminated ones without a trailing semicolon in some cases — will be decoded; anything genuinely invalid is left as literal text rather than causing an error.