HTML Entities Decoder
Turn <, é, € and 😀 back into the characters they stand for.
Processed locally in your browser· Your data stays in your browser.
What is HTML Entities Decoder?
HTML entities are text escapes: a named reference such as é or ©, a decimal reference such as é, or a hexadecimal one such as é. Scraped web text, RSS feeds, CMS exports and old databases often contain them and need decoding to be readable.
This decoder contains the full HTML 4 named-entity table (about 250 names, including Greek letters, arrows, mathematical symbols and typographic quotes) plus numeric references up to U+10FFFF. It works purely on strings, without a DOM, and decodes exactly once: &lt; becomes < rather than <. Unknown names are left in place and listed in a warning.
How does it work?
- Paste the text containing entities.
- Read the decoded output; a note tells you how many references were converted.
- Check the warning list for unknown entities or invalid numbers, then copy the text or press Swap to re-encode it.
Common use cases
- Cleaning text copied from an RSS feed, e-mail source or scraped web page.
- Reading the real characters behind ' and " in an API response.
- Checking what an entity such as … or ™ actually represents.
- Restoring accented names from a legacy database export.
Examples
Try this input in the tool above:
<p>Café & thé — €5 😀 © 2026</p>
<p>Café & thé — €5 😀 © 2026</p>
Privacy
HTML Entities Decoder runs entirely in your browser. The text or files you provide are processed on your device and are not uploaded, logged or stored on our servers.
Limitations
Only the HTML 4 entity set (and ') is built in; rare HTML5-only names stay undecoded but numeric references always work. Decoded output is plain text and is not sanitised as HTML.
Frequently asked questions
Why did &lt; give < and not <?
It is decoded once, which is correct: the source text contained an escaped ampersand followed by "lt;". Run the tool twice only if the text was double-escaped.
What happens to an unknown entity such as &foo;?
It stays unchanged in the output and appears in the warnings, so you can see what was not converted.
How are numbers like – handled?
Like browsers do: references from 128 to 159 are mapped to their Windows-1252 characters (– becomes an en dash). Zero, surrogates and values above U+10FFFF become U+FFFD.
Related tools
HTML Entities Encoder
Escape markup characters, or turn every non-ASCII character into an entity such as é or é.
Encoding & Decoding
URL Decoder
Turn %20, %3A and %C3%A9 back into readable text, and find out exactly where a malformed sequence sits.
Encoding & Decoding
Unicode Unescape Converter
Paste text full of \u00e9, U+1F600 or ☺ and read the real characters.
Encoding & Decoding
HTML to Text Converter
Paste HTML and get clean plain text with sensible line breaks, bullets and optional link addresses.
Developer Tools
Strip HTML Tags
Delete every tag from a piece of HTML and keep only the text, with your choice of line breaks and entity decoding.
Developer Tools
XML Unescape
Convert XML entities and numeric character references back into the characters they stand for.
JSON & Data
Decimal to Text Converter
Paste decimal Unicode code points and get the characters they stand for, emoji included.
Encoding & Decoding