HTML-decode Text
Paste HTML entities and get plain text back instantly.
Decoded text
How to decode HTML entities
Paste text containing HTML entities into HTML input, or press
Load example. The decoded text appears next to it and updates as you
type. Copy the result or download it as a .txt file. Everything runs in
your browser, so nothing you paste is uploaded.
Examples
| Input | Output |
|---|---|
| <div> | <div> |
| Café & crème | Café & crème |
| © 2026 😀 &bogus; | © 2026 😀 &bogus; |
Limits and edge cases
- Unknown entities such as
&bogus;are left untouched, never an error. - Invalid numeric entities such as
&#xZZ;or out-of-range code points are preserved literally. - Entity names are case-sensitive:
Áandádecode to different characters. - Tip: decoding twice unescapes nested input —
&lt;becomes<first, then<.
Frequently asked questions
How do I decode HTML entities?
Paste text containing entities like < or & into the input box and the decoded text appears instantly. Copy it or download it as a .txt file.
Which entities are supported?
Common named entities such as amp, lt, gt, quot, apos, nbsp and copy, plus any decimal numeric entity like © and hex entity like ©.
What happens to unknown entities?
Unknown entities like &bogus; are left untouched in the output. Decoding never fails, it simply preserves anything it does not recognise.
Are entity names case-sensitive?
Yes. Á and á are different entities that decode to A and a with an acute accent. Always match the exact casing.
Why does decoding twice change my text?
Nested entities like &lt; decode to < on the first pass and to < on the second pass. Run the tool once unless you intend to fully unescape nested input.
Is my text uploaded anywhere?
No. Decoding runs in your browser with JavaScript and nothing is sent to a server. Inputs under 200 KB are kept in your browser's local storage so they are still there when you come back.