Escape & < > and quotes for HTML, and optionally write non-ASCII characters as named or numeric entities.
HTML Entity Decoder
Turn &, <, é and 😀 back into real characters — with a list of every entity found and a fix for double-escaped text.
Decoded locally in your browser — nothing is uploaded or run
How it works
Your text is placed inside a <textarea> in a detached document created with DOMParser. The browser’s HTML parser decodes every entity exactly as it would on a real page, and the plain-text result is read back. The document is never shown, so nothing in it runs.
The table lists each distinct entity with its character and code point. Typos and invented names are flagged as “not recognised”. If decoding once still leaves entities such as <, the text was probably escaped twice, and you’ll be offered a second pass.
Example
<p>Café & braai — R85 🔥</p> decodes to <p>Café & braai — R85 🔥</p>.
Double-escaped &lt;b&gt; decodes once to <b>, and twice to <b>.
Frequently asked questions
Which entities are supported?
All of them. Decoding uses your browser’s own HTML parser, which knows every named entity in the HTML standard (over 2,000, such as , é and →), plus decimal (é) and hex (é) numeric entities.
Is it safe to paste HTML with scripts?
Yes. The text is parsed in a detached document that is never displayed, so scripts and event handlers in your input don’t run. The result is plain text.
What is double-escaped text?
Text that was escaped twice, so < became &lt;. It shows up as literal “<” on a page. The decoder detects this and can decode both layers.
What happens to unknown entities?
Anything that isn’t a real entity — a typo like &eaccute; — is left as it is and listed as not recognised, so you can fix it.
Related tools
Decode percent-encoded text, unwrap double encoding and see every query parameter of a URL in a table.
Convert text to UPPERCASE, lowercase, Title Case, Sentence case, camelCase, snake_case and more.
Generate random v4 or time-ordered v7 UUIDs in bulk, in the format you need.
Related guides
JSON, Base64, URL encoding and HTML entities explained
What JSON, Base64, percent-encoding, HTML entities, UUIDs and Unix timestamps are for — and the common mistakes developers make with each.
CSS colour formats explained: HEX, RGB, HSL, HWB and OKLCH
What each CSS colour format means, when to use it, why OKLCH is useful for palettes, and how to check colour contrast for accessibility.
JWTs explained: structure, claims, decoding vs verifying, and common mistakes
How JSON Web Tokens work, what each part and claim means, why decoding isn't verifying, and the mistakes that cause real security bugs.