HTML Entity Decoder
Turn <p>, ", ’ and back into readable characters. Decodes all 2,231 named entities of HTML5 using the same rules as your browser — including the tricky cases — and fixes double-encoded text.
&amp; or &lt;? The text was encoded twice — turn on Decode repeatedly.Need to encode instead? HTML Entity Encoder →What Does an HTML Entity Decoder Do?
It converts character references back into the characters they stand for.
HTML uses character references to write characters that are reserved or hard to type: < for <, & for &, for a non-breaking space, ’ or ’ for a curly apostrophe. They show up in page source, CMS exports, RSS feeds, JSON from APIs and database dumps.
This decoder contains the complete list of 2,231 named entities from the HTML Living Standard, plus decimal and hexadecimal references, and turns them back into normal text.
Browser-exact. It follows the HTML rules in detail: some old entities work without a semicolon (©, &), numeric codes 128–159 map to Windows-1252 characters (– is an en dash), and invalid codes become �. In Attribute value mode, ?a=1©=2 stays as it is, just like in a link's href.
Unknown entities such as &nbps; (a typo) are left untouched and listed, so you can find and fix them.
Common HTML Entities
The ones you'll meet most often.
| Entity | Number | Character | Name |
|---|---|---|---|
& | & | & | Ampersand |
< / > | < / > | < > | Less / greater than |
" | " | " | Double quote |
' | ' | ' | Apostrophe |
|   | (space) | Non-breaking space |
© | © | © | Copyright |
’ | ’ | ’ | Right single quote |
— | — | — | Em dash |
… | … | … | Ellipsis |
€ / ₹ | € | € ₹ | Euro / Rupee (no named entity) |
How to Use the HTML Entity Decoder
Get your result in under ten seconds.
Paste the encoded text
From page source, a feed, an API response or a database export.
Pick the context
Page text (default) or an attribute value such as a link's href.
Copy the result
Unknown entities are listed so nothing is silently lost.
Why Use the HTML Entity Decoder on Developers Web Tools
Fast, accurate and private — built for developers.
Complete table
Every named entity in the HTML Living Standard, not just the common 250.
Browser-exact
Semicolon-less legacy entities, Windows-1252 codes and invalid numbers handled per spec.
Double-encoding fix
Decode &amp;lt; in up to five passes.
Unknown entities
Typos like &nbps; are reported, not silently dropped.
Big inputs
Large files are decoded in a background thread.
Private
Runs entirely in your browser — nothing is uploaded.
Frequently Asked Questions
Both are an apostrophe ('). ' is a numeric reference that works everywhere; ' is a named one that's valid in HTML5 and XML.
That's how browsers do it: ¬ is one of the old entities that work without a semicolon, so the longest known name is decoded and the rest is kept. This decoder follows the same rule. In attribute mode it isn't decoded when a letter, digit or = follows.
Codes 128–159 are control characters in Unicode, but old Windows pages used them for punctuation. The HTML standard says to map them to the Windows-1252 characters, so – is – and ’ is ’.
Yes. The result is only shown as plain text — nothing you paste is run or rendered. Be careful where you use the output, though: decoded <script> is real code.
No. Decoding runs entirely in your browser.