HTML Entity Decoder
Turn é and é back into readable text: named and numeric references, decimal or hexadecimal, in your browser.
Runs entirely in your browser. Nothing is uploaded, logged or stored.
Text that has been through an escaping step one time too many arrives full of é and é and &. This reads it back: every entity becomes the character it stands for, and everything else is left alone.
How it works
Named references are looked up in the HTML 4.01 table — 252 names, from & to €. Numeric references are read as a code point, in decimal (é) or in hexadecimal (é), in either case.
Anything that is not a reference is copied out untouched, including a bare ampersand. Text scraped out of a page is very often half-escaped, and refusing the whole input because of one stray "&" would help nobody.
Examples
| Case | Input | Result |
|---|---|---|
| A named reference | café | café |
| The same character by code point | café and café | café and café |
| Text escaped twice, decoded once | Tom & Jerry | Tom & Jerry |
Frequently asked questions
My text still has & in it afterwards. Why?
Because it was escaped twice. & decodes to &, which is correct: one decode undoes one escape. Run it again to undo the second. That the result is still escaped is usually the interesting finding — something in the pipeline is escaping output that was already escaped.
Is it safe to decode untrusted text?
Decoding here is safe — nothing is rendered as markup, and the result is shown in a plain text box. What is not safe is putting the decoded result back into a page: <script> decodes to a real tag, and that is the whole reason it was escaped.
Why is not a normal space in the result?
Because it is not one. It decodes to U+00A0, the non-breaking space, which looks identical and behaves differently — it will not wrap, and most search and comparison code treats it as a different character. That difference is frequently the bug being chased.
Are HTML5 entity names supported?
Only the 252 names of HTML 4.01. HTML5 adds around two thousand more, largely mathematical; those are left as written rather than guessed at. Numeric references work for every character regardless.
Good to know
- Everything happens in your browser. What you paste is not uploaded, not logged and not stored.