HTML Entity Decode
Convert & and é back to real characters.
Everything runs inside your browser. Your files never leave your device.
Input
Result
Ask about HTML Entity Decode
Questions about what this tool does, which option to pick, or what it can and cannot handle.
The question you type here is sent to an AI provider to be answered — your files and whatever you put in the tool above are not, and the assistant cannot see them. Answers are generated and can be wrong. The tool itself is not guessing: it runs deterministic code on your device.
About the HTML Entity Decode
Text extracted from a web page, an RSS feed or a database column often arrives with its entities still in place: & where an ampersand belongs, ' where an apostrophe should be,   scattered through the spacing. This turns them back into the characters they stand for.
It handles decimal and hexadecimal numeric references, which have no vocabulary to fall short of, and the named entities in everyday use: the five XML ones, the typographic marks, the currency and legal symbols, and every accented Latin letter. HTML defines well over two thousand names in total, reaching into Greek and mathematics, and a name outside that everyday set is left exactly as it was found rather than guessed at — so nothing is silently mangled, and you can see what was not understood.
Double encoding is the most common thing this reveals, and it shows up as & in the output. That sequence means an already-encoded ampersand was encoded again, usually because one layer of code escaped a value that a framework had already escaped. Decode a second time to confirm, then fix the layer doing the extra work rather than decoding twice in production.
Non-breaking spaces deserve their own mention.   decodes to U+00A0, which looks exactly like an ordinary space and is not one. It will not match a space in a comparison, most trim functions leave it in place, and a great many "why does this string not equal that string" mysteries end there. The Unicode inspector on this site will show them if you suspect one.
A caution about what decoded text is: it is unsafe to insert into a page. Decoding is precisely the operation that turns <script> back into a live script tag. Decode when you need the text as data — to store it, to compare it, to read it — and re-encode before it goes anywhere near markup.
How to use it
- 1Paste the text containing HTML entities.
- 2Read the decoded result.
- 3If you still see sequences beginning with an ampersand, the text was encoded twice — decode again and fix the layer doing it.
- 4Treat the decoded output as data. Re-encode before putting it back into any HTML page.
Questions
- Why do I see & in the result?
- The text was encoded twice. One layer escaped a value that another had already escaped. Decode a second time to get the plain text, then find and remove the duplicated escaping rather than compensating for it.
- What is   and why does it cause trouble?
- A non-breaking space, U+00A0. It renders identically to a space but is a different character, so it fails comparisons and survives most trimming. It is a frequent cause of strings that look equal and are not.
- Which entities are supported?
- The named entities browsers recognise, plus decimal and hexadecimal numeric references. Between them that covers every entity a browser or a well-behaved encoder will have written.
- Is decoded text safe to put back into a page?
- No. Decoding is what turns an escaped script tag back into a working one. Use decoded text as data — for storage, comparison or reading — and encode it again before it reaches any markup.

