HTML entities explained: named, decimal and hex
What entities are, why the same character has three encodings, how numeric references map to Unicode, and when decoding is safe versus risky.
Why entities exist at all
A few characters carry structural meaning in HTML, and the browser cannot tell whether you mean them as markup or as text. A raw less-than sign looks like the start of a tag, and a raw ampersand looks like the start of another entity. Entities solve this by giving each reserved character a safe stand-in: < for less-than, > for greater-than, and & for the ampersand itself. Encoding turns dangerous characters into inert text, and decoding is the reverse, recovering the character once it is safe to read.
One character, three ways to write it
The same symbol can appear as a named entity, a decimal reference, or a hex reference. The copyright sign is ©, ©, and ©, and all three decode to the identical character. Named forms are readable but only exist for a fixed list of characters. Numeric forms work for any Unicode code point, which is why an accented letter or an emoji often arrives as é or 😀 rather than a friendly name. This decoder accepts every form so you do not have to know which one produced your text.
How numeric references map to Unicode
A numeric entity is just a Unicode code point wearing a wrapper. The decimal in é is 233, and 233 in hexadecimal is E9, so é and é both resolve to é. Hex is common because it matches how the Unicode standard lists characters, for example U+2615 for a hot beverage cup. The tool reads the digits, interprets them in base ten or base sixteen, and turns the number into its character, while quietly refusing values that are out of range or land inside the reserved surrogate block.
Decoding safely versus rendering as HTML
Decoding entities to plain text is safe: the result is just characters you can read, copy, or store. Danger only appears if you take decoded output and inject it straight back into a live page as HTML, because a decoded <script> becomes a real script tag. Use this tool to inspect what an entity actually says, to clean data exported from a CMS, or to recover text that was double-escaped. When you later put that text into a web page, re-encode anything that should display literally so the browser does not treat it as markup.