HTML Entity Decode

Paste HTML-encoded text below and click Decode to convert entities back to characters. All processing happens locally in your browser.

Copied!

What is HTML Entity Decoding?

HTML entity decoding converts HTML entities back to their original characters. This includes named entities (&, <) and numeric entities (&, &).

This tool uses the browser's built-in HTML parser to accurately decode all standard entities.

Named and numeric references can be decoded separately, which helps when only one half of a document was processed. The loose option accepts a reference with no closing semicolon, because that is what a browser does for a legacy subset and it is how half-broken exports usually arrive. If the result still holds references the page says so, since that almost always means the text was encoded twice on its way through a CMS.

Is the markup fighting you?

Escaped entities, mangled encodings and content that renders one way in the CMS and another on the page usually mean something in the pipeline is guessing. We build front ends and the publishing path behind them, so what you write is what a visitor sees.

Talk to us about your site

Frequently Asked Questions

What does this tool decode?
Named references such as &, decimal ones such as & and hexadecimal ones such as &. Anything that is not a valid reference is left exactly as it is, so text with a stray ampersand in it comes back unchanged.
Why is my text cut off in other decoders?
Many of them assign your whole input to a hidden element and read the text back out. A literal closing tag in your text ends that element early and everything after it is dropped. This page resolves one reference at a time, so the surrounding text is never parsed as markup.
What is the loose option for?
Browsers accept a legacy set of references written without the closing semicolon, so &amp on its own still becomes an ampersand in a page. Exports from older systems arrive that way. Turn it on when a decode leaves obvious references behind, and off when your text contains ampersands followed by words.
Why does the result still contain references?
Because the text was encoded twice, which happens when a CMS escapes content that was already escaped. < decodes to < and not to a less-than sign. The page tells you when this happens; run the decode again to reach the original.
Is my content sent anywhere?
No. The page runs entirely in your browser and uses its own parser to resolve each reference, so nothing you paste is uploaded. That matters when the text you are debugging came out of a customer record or an internal system.