HTML Decode
Decode HTML-encoded text back into literal characters. Handles named entities (& < > " © — and ~190 more), decimal numeric references (©), and hex numeric references (', case-insensitive) — entirely in your browser.
Input
Output
Guides
Paste in HTML-encoded text and instantly convert it back into readable, literal characters. This tool decodes named entities, decimal numeric references, and hexadecimal numeric references — the three ways HTML represents a character it can't write literally — and updates the result as you type. Everything runs locally in your browser, so nothing you paste ever leaves your device.
What gets decoded
HTML source often contains a character written as an "entity" instead of the character itself — usually because that character is reserved by HTML syntax, isn't easy to type, or was encoded defensively by a CMS, API, or scraper. This tool reverses all three forms:
- Named entities — a mnemonic name between
∧, like&(&),<(<),>(>),"("), (non-breaking space),©(©),®(®),™(™),—(—),…(…), and accented letters likeé(é). Around 190 named entities are supported, covering the full Latin-1 (ISO 8859-1) letter and symbol set plus common HTML4 typography, Greek letters, arrows, and card suits. - Decimal numeric references —
©decodes to©using the character's plain decimal Unicode code point. - Hexadecimal numeric references —
'or'decodes to'using the code point in hex; thexis case-insensitive either way.
Entities are decoded in a single left-to-right pass, so a doubly-escaped string like &lt; correctly becomes < (only the outer & resolves) rather than being decoded all the way down to <. Anything that isn't a recognized entity — including a stray & in ordinary text, or a named entity outside the supported set — is left exactly as it was.
How to use it
- Paste your HTML-encoded text into the input box, or upload a
.txt/.htmlfile. - The decoded result appears immediately in the output panel, syntax-highlighted as HTML.
- Copy the result or download it as a file.
Why entities show up in the first place
Templating engines, CMSs, and REST APIs frequently HTML-encode text before storing or transmitting it — partly as an XSS defense, partly because the reserved characters (<, >, &, ", ') would otherwise break the surrounding markup. That's useful for safety, but it makes the raw content hard to read or reuse: pasting an encoded blob from an API response, an RSS feed, or a scraped page straight into a document or spreadsheet leaves entity codes scattered through the text. This tool cleans that up in one step, without needing to write or run any code.
Does this decode HTML tags into rendered markup?
No — it only decodes character entities. <script> becomes the literal text <script>, not an actual <script> element; the output is shown as plain text (with HTML syntax highlighting for readability), never rendered or executed. That also makes it safe to run on untrusted input.
Is my data private?
Yes. Decoding happens entirely in your browser using JavaScript — no text is uploaded to a server, including anything you paste or upload as a file.
Common uses
Cleaning up HTML-encoded text copied from an API response, CMS export, or RSS feed; reading entity-encoded log output or email source; and recovering readable text from scraped or database-exported HTML before pasting it elsewhere.