Updated · Built and checked by the PlinzoTools team, formulas tested against published sources
Decode HTML entities in text back into their original characters.
Your result will appear here.
The reverse of the HTML Entity Encoder -- decodes the five entities the encoder produces -- &, <, >, ", and ' -- plus decimal and hexadecimal numeric references, back into their original characters. Other named entities (such as or ©) are left as they are.
Paste text containing HTML entities. The decoded plain text appears instantly.
The decoder handles two groups. The first is a fixed list of five named entities: &, <, >, " and '. The second is numeric character references, both the decimal style (an ampersand, a hash, digits and a semicolon) and the hexadecimal style (an ampersand, a hash, the letter x, hex digits and a semicolon). Numeric references are converted to the character with that code, so a decimal reference for 169 becomes the copyright sign, and a hexadecimal reference for 20AC becomes the euro sign.
What it does not do is recognise other named entities. Names such as the non-breaking space, the copyright name, the euro name or the arrows are left in the text as they are. If you need those, convert them to their numeric form first, or use a full HTML parser. This is the most common reason an entity seems to be ignored.
Suppose a scraped snippet reads: Fish & Chips <b>special</b> costs £5 – "today only". The decoder returns: Fish & Chips <b>special</b> costs a pound sign followed by 5, then an en dash, then "today only" in straight quotes. The tags come back as visible tag text, not as bold formatting, because the tool outputs plain text.
Text is sometimes encoded twice, for example when it passes through two systems that each escape it. A sample would be &amp;. The decoder replaces the named entities in a single pass through the list, so one run reduces a doubly encoded ampersand to a single level of encoding, not all the way to the plain character. If the output still contains entities, run it through the tool a second time until the text reads correctly. Be careful not to over-decode content that legitimately shows entity code as text, such as documentation about HTML.
Decoding turns harmless-looking text back into characters that have meaning in HTML. If you take the decoded output and insert it into a web page, angle brackets become live markup, which can be a security problem when the source is untrusted. Treat the result as text to read or copy, and re-encode it before placing it anywhere that renders HTML. Never paste the decoded output into a page template without proper escaping.
After decoding, scan the output for any remaining ampersand followed by letters and a semicolon. Those are entities the tool does not know, and they may need manual replacement. Also compare the length of the output with the input: a large drop is normal when the source was heavily encoded. If the text will be reused in code, remember that quotes and backslashes may now need their own escaping for the language you are working in.
Yes -- decimal (') and hexadecimal (') numeric references are decoded, along with the named entities amp, lt, gt, and quot. Other named entities are not recognised.
Only five named entities are recognised (ampersand, less-than, greater-than, double quote and apostrophe), plus numeric codes. Other names are left untouched. Use the numeric form, or a full HTML parser, for those.
Yes. Both decimal and hexadecimal numeric references are converted to their characters.
The text was probably encoded more than once. Run the output through the decoder again until it reads normally.
Not without re-encoding. Decoding restores angle brackets and ampersands, which a browser would treat as markup.
Reference: MDN Web Docs