← All Tools
HTML Decoder🔒 100% local
Decode HTML entities to text. Privacy-first, no server uploads.
Related Tools
Replaces named HTML entities with the characters they stand for, using a fixed table of about thirty-five entries: the five markup characters, the currency signs, typographic characters such as curly quotes and the ellipsis, the arrows, the primes and the four card suits. Every &name; or &#number; token is matched, but only table entries are substituted and anything else comes back exactly as typed, so this decodes a specific list of entities rather than being a general decoder.
How to use it
- Paste the text containing entities into the Input box.
- Press Decode.
- Read the Output box, or press Clear to start again.
Worked example
Price: €20 × 3 = €60becomesPrice: €20 × 3 = €60Named entities in the table are replaced with the character itself.
<p>5 < 6 && 7 > 6</p>becomes<p>5 < 6 && 7 > 6</p>The markup characters decode too, so tags in the input come back as real tags in the output text.
When to use it
- Copying text out of a page source or a CMS export and wanting the visible characters rather than the references.
- Checking what a symbol entity such as … or • renders as before you put it in a template.
- Cleaning up curly quotes, dashes and ellipses that arrived as named entities in text you are about to publish as plain text.
What it does not do
- Numeric references are matched by the pattern but very rarely resolved: only ' is in the table, so © and ' survive untouched. The table is keyed by the decimal form, which is why the hexadecimal spelling of the same character still needs a general decoder.
- Matching is case-sensitive, so © or &Nbsp; will not be replaced.
- The table is a fixed list, so an entity outside it - ∉, α, ‌ - passes straight through with no warning.
- The output is plain text with no HTML parsing or rendering, which keeps it safe for code samples but means malformed markup is passed straight through.