Daldal Tools

HTML Entity Encoder & Decoder

Escape the characters that would otherwise change the shape of your HTML, and turn entities back into plain text. Named and numeric forms both supported.

Runs in your browserFree to use

Result

Common entities

CharacterNameNumber
&&&
<&lt;&#60;
>&gt;&#62;
"&quot;&#34;
'&apos;&#39;
 &nbsp;&#160;
¢&cent;&#162;
£&pound;&#163;
¥&yen;&#165;
€&euro;&#8364;
©&copy;&#169;
®&reg;&#174;
™&trade;&#8482;
§&sect;&#167;
&para;&#182;
†&dagger;&#8224;
‡&Dagger;&#8225;
•&bull;&#8226;
…&hellip;&#8230;
‰&permil;&#8240;
′&prime;&#8242;
″&Prime;&#8243;
‹&lsaquo;&#8249;
›&rsaquo;&#8250;
«&laquo;&#171;
»&raquo;&#187;
‘&lsquo;&#8216;
’&rsquo;&#8217;
“&ldquo;&#8220;
”&rdquo;&#8221;
–&ndash;&#8211;
—&mdash;&#8212;
±&plusmn;&#177;
×&times;&#215;
÷&divide;&#247;
¼&frac14;&#188;
½&frac12;&#189;
¾&frac34;&#190;
°&deg;&#176;
µ&micro;&#181;
¡&iexcl;&#161;
¿&iquest;&#191;
¦&brvbar;&#166;
¨&uml;&#168;
ª&ordf;&#170;
º&ordm;&#186;
¬&not;&#172;
¯&macr;&#175;
´&acute;&#180;
¸&cedil;&#184;
←&larr;&#8592;
↑&uarr;&#8593;
→&rarr;&#8594;
↓&darr;&#8595;
↔&harr;&#8596;
∞&infin;&#8734;
≠&ne;&#8800;
≤&le;&#8804;
≥&ge;&#8805;

Files are processed in your browser and are never uploaded to a server.

How to use

Free to use with no sign-up, no install and no usage limit.

Paste text on the left and the escaped or unescaped version appears on the right. Encoding always converts the five characters that can change the structure of a document: the ampersand, both angle brackets and both quote marks.

Named entities read better in source — &copy; is obvious, &#169; is not — but only a limited set has a name. Numeric form works for every character, which is what you want for anything outside ASCII. The mixed mode uses a name when one exists and a number otherwise.

Decoding leaves entities it does not recognise exactly as they are. Silently dropping an unknown name would damage the original text, and a stray ampersand in ordinary prose stays an ampersand.

The conversion is done with a lookup table, not by handing your text to the browser as HTML. That distinction matters: decoding through innerHTML would execute any script or event handler hidden in the input.

Nothing you paste is sent to a server. Everything happens inside your browser.

Tools people use next