Decode HTML entities (' & " — numeric and named) to plain text, or encode text for HTML. Runs in your browser. No upload — runs 100% in your browser
HTML reserves certain characters: < starts a tag, & starts an entity. To display them literally, pages encode them as entities — <, & — either by name (©) or by numeric code point (©, ©). Decoding turns them back into real characters; encoding escapes the five characters that matter so text can be embedded in HTML safely.
Copy text out of a web page and you get strings like R&D '26. Paste it into a document and it reads wrong; decode it here and it becomes R&D '26. The reverse bug — double encoding — happens when a system encodes an already-encoded string: &amp; decodes to & decodes to &. This page decodes one level per run, so running it repeatedly is always safe and predictable.
Numeric references (—, —) are decoded for any valid code point. Named entities cover the full set that matters in practice — the 250-odd names from the HTML4 Latin-1 and symbols/punctuation sets plus the XML core. Exotic HTML5-only names (like ' alternatives for every emoji) are intentionally out: if a name is unknown it is passed through untouched rather than guessed.
No. Everything on this page runs inside your browser using JavaScript and WebAssembly. Your file never leaves your device — you can even disconnect from the internet after the page loads and the tool still works.
No — only &, <, > and the quotes in attributes ever need escaping in HTML. Accented letters and emoji can be pasted literally in any modern page.
They mean the same character ('). Numeric forms work everywhere; &apos; is not valid in HTML4, which is why this tool encodes the apostrophe as &#39;.
No — that's percent-encoding for URLs, a completely separate mechanism. This page handles HTML entities only.