Util Tools logo Util Tools
Developer Tools

Free HTML Entity Encoder & Decoder Online

Convert special and unicode characters to HTML entities - named or numeric - and decode them back. Encode everything or just the essential XSS-sensitive characters.

  • 100% free
  • No signup
  • Runs in your browser

Common HTML Entities

Char Named Numeric Description
& & & Ampersand
< &lt; &#60; Less than
> &gt; &#62; Greater than
" &quot; &#34; Double quote
' &apos; &#39; Apostrophe
  &nbsp; &#160; Non-breaking space
© &copy; &#169; Copyright
® &reg; &#174; Registered
&trade; &#8482; Trademark
&euro; &#8364; Euro
£ &pound; &#163; Pound
¥ &yen; &#165; Yen
¢ &cent; &#162; Cent
° &deg; &#176; Degree
± &plusmn; &#177; Plus-minus
× &times; &#215; Multiplication
÷ &divide; &#247; Division
- &mdash; &#8212; Em dash
&ndash; &#8211; En dash
&hellip; &#8230; Ellipsis
Guide

What are HTML entities?

HTML entities are special codes that represent characters which would otherwise be interpreted as markup or cannot be typed easily. They come in named form (&amp; for &) and numeric form (&#38; or &#x26;). The browser displays the actual character while the source stays valid. This tool encodes text into entities and decodes entities back to characters.

Why you need to encode

A few characters have structural meaning in HTML: < and > delimit tags, & begins an entity, and quotes delimit attributes. If you want to display these literally, or include a character your keyboard cannot produce, you must encode it so the browser shows it as text rather than treating it as code.

Named vs. numeric entities

&amp; (named) and &#38; (numeric) render the same character. Named entities are more readable but only exist for a defined set of characters; numeric entities work for any Unicode code point, which is why this tool can encode emoji and non-Latin characters that have no name. Encode-essential mode touches only the markup-sensitive characters, while encode-all converts everything non-ASCII.

A note on security

Encoding output before inserting it into a page is a key defence against cross-site scripting (XSS), because it stops user input from being parsed as HTML. However, encoding alone is not a complete security strategy: context matters (HTML, attributes, and JavaScript each need different handling), so treat this tool as one part of safe output handling, not a guarantee.

Last updated: July 2026

Frequently Asked Questions

What are HTML entities?
HTML entities are special codes used to represent characters that have special meaning in HTML (like < and >) or characters that are difficult to type directly.
Why do I need to encode HTML entities?
To prevent XSS (cross-site scripting) attacks and to ensure your HTML renders correctly when displaying user-submitted content.
What is the difference between &amp; and &#38;?
Both represent the & character. &amp; is the named entity (human-readable), while &#38; is the numeric entity (decimal). Both are valid HTML.
Does HTML entity encoding make my site secure?
Entity encoding output displayed in HTML helps prevent XSS. However, full security requires server-side validation and context-aware encoding.
What is the HTML entity for a space?
A non-breaking space is &nbsp; (&#160;). Regular spaces do not need to be encoded.