HTML Decoder
Scraped pages, API responses and database exports love to hand you text littered with &, < and ' — entities meant for the browser, not for your eyes. Paste the encoded text above and get the readable original back: named references like © and …, decimal ones like ©, and hex ones like © all decode.
Decoding follows the same rules browsers use, including the obscure ones: numeric references in the C1 range map through Windows-1252 (€ becomes €), impossible code points become the replacement character, and decoding runs in a single pass — so &lt; correctly becomes <, not <. Entities missing their semicolon and unknown names produce clear errors instead of silent garbage.
FAQ
Why doesn't &lt; decode all the way to <?
Because decoding is single-pass, matching how browsers parse: & becomes & and the scan moves on, leaving < as literal text. If you need it fully decoded, run the output through the decoder again — each pass peels exactly one layer.
Are entities without semicolons decoded?
No. Browsers apply a pile of legacy no-semicolon exceptions that differ per entity and context; this decoder requires the semicolon and tells you exactly where one is missing. Strict beats surprising.
Is my pasted data sent anywhere?
No — decoding runs entirely in your browser, so tokens and user data in the text stay on your machine.