See & where you expect an ampersand, or ' instead of an apostrophe? This tool decodes HTML character entities back into the literal characters they represent.
Reversing a substitution made for parsing safety
HTML entities exist so that a document's actual text content can safely include characters that would otherwise be misread as markup syntax — but that same protective encoding needs to be reversed the moment you want to see, copy or process the text as its true intended characters rather than the safely escaped version. This decoding step happens constantly and invisibly every time your browser renders a webpage, converting entities like & back into the literal & you actually see on screen — this tool makes that same process available directly.
How decoding works
The tool scans your input text for HTML entity patterns — both named entities (like &, <, ") and numeric entities (like & or the hexadecimal form &) — and replaces each one with the literal Unicode character it represents, leaving any text that wasn't encoded in the first place unchanged.
Where decoding HTML entities is genuinely useful
- Extracting clean text from scraped or exported HTML content — content pulled from a webpage's source or exported from a CMS often retains its entity-encoded form, and decoding it produces the actual readable text a person would see.
- Processing RSS or Atom feed content — syndicated feed content frequently contains HTML-encoded text within its XML structure, and decoding it is often necessary before displaying or further processing that content elsewhere.
- Debugging double-encoding issues — a common and genuinely confusing bug occurs when content gets HTML-encoded twice (producing something like
&amp;), and decoding is the diagnostic and corrective step to identify and fix the issue. - Preparing content for a plain-text context — converting HTML-sourced content (like an email newsletter's HTML version) into clean plain text for a text-only email alternative or a non-HTML output format.
Frequently asked questions
Is decoding HTML entities the same as removing HTML tags? No, and this distinction matters — entity decoding only converts character references (like &) back to literal characters; it does nothing to actual HTML tags (like <p>), which require separate tag-stripping logic if you want plain text with no markup at all.
What causes "double encoding" and how do I fix it? Double encoding happens when text that's already HTML-encoded gets encoded a second time by a system that doesn't realize the encoding already happened, producing entities-within-entities like &lt;; the fix is generally to decode the affected text (sometimes more than once, if it was double-encoded) and identify where in the pipeline the redundant encoding step is happening.
Are all entities safe to decode without concern? Yes, decoding itself is safe and doesn't execute any code — but be cautious about what you do with decoded content afterward: if you're going to display it back on a webpage, it generally needs to be properly HTML-encoded again before rendering, to avoid reintroducing the exact security risk entity encoding exists to prevent.
Further reading
MDN — Entity — Reference for named and numeric HTML character entities and their decoded values.
W3C — XML Entity Definitions for Characters — The formal character entity reference tables shared across HTML and XML.