HTML Entity Decoder
Turn HTML entities back into readable characters
About HTML Entity Decoder
HTML Entity Decoder reads text full of HTML entities, as found in RSS feeds, CMS exports, scraped pages, or email source, and writes the real characters. Named entities such as é, —, or are looked up by your browser's HTML parser, so every name it knows works; numeric ones, decimal (€) or hex (€), are converted directly. Tags such as <b> are kept exactly, and each entity is decoded once per click. An Encode button is there too, for the opposite direction; both work inside this tab.
Example
A line copied from a feed's source, decoded with one click:
Text with entities
Price: €5 – © 2026 😀 <b>&lt;b&gt;</b>
Decode
Price: €5 – © 2026 😀 <b><b></b>
How to decode HTML entities
- 1Paste the text that shows codes such as & or ' instead of characters.
- 2Click "Decode" to replace every entity with its character; tags stay in place.
- 3If the result still shows codes like <, the source was escaped twice: copy the result back into the input box and click "Decode" again.
- 4The clean text lands in the lower box, where "Copy" takes it and "Download" saves it as decoded.txt.
Formats and limits
- Named entities
- Every name known to your browser's HTML parser, written with its final semicolon (a few old names also work without it)
- Numeric entities
- Decimal and hex, up to U+10FFFF; zero, surrogates, and larger codes give the replacement character
- Tags and other text
- Left exactly as written
Where your text is processed
Decoding happens in this tab: numeric codes are converted by the page's own script, and each named entity is handed alone to your browser's DOMParser, which does not run scripts or fetch images. What you paste stays in this tab and disappears when it closes. A crash of this page, a blocked clipboard included, sends us an error report with the cleaned error message, this tool's name, and your browser with its version; nothing you pasted is part of it.
Frequently asked questions
Why does my text still show & after decoding?
It was escaped twice, which some CMS and export scripts do: &amp; decodes to &. Each Decode removes exactly one layer and always reads the input box, so copy the result back into it and decode again to reach the plain character.
Are HTML tags removed?
No. Only entities change; tags such as <b>, <p>, or <a href> stay exactly as written in the output. That keeps the markup intact when you only want readable accents and symbols.
Is turned into an ordinary space?
No. It becomes a non-breaking space (U+00A0), which looks the same on screen but is a different character, so a search or a comparison with a normal space will not match it.
Which numeric entities give a replacement character?
Zero, the surrogate range � to � and anything above  give �. Codes 128 to 159 give invisible control characters here, whereas browsers display them as Windows-1252 symbols such as an en dash.
Tips and tricks
- ✓Paste the page source, not the rendered page: text copied from a displayed page has no entities left to decode.
- ✓Need the reverse? "Encode" on this page escapes the ampersand, angle brackets, and quotes.