HTML Entity Encoder

Encode and decode HTML entities (named, decimal, hex) with a searchable symbol table

94 characters
Entity style
Characters without a name (like ₹) use the decimal form ₹.
Enough for HTML saved as UTF-8 (today's default). Use this to show code on a web page.
Entity reference115 of 115
Tap a code to copy it.
CharNamedDecimalHexDescription
&Ampersand
<Less-than sign
>Greater-than sign
"Double quote
'Apostrophe / single quote (&#39; works everywhere)
␣Non-breaking space
␣En space
␣Em space
␣Thin space
␣NoneZero-width space (allows a line break)
␣Zero-width non-joiner (used in Indic scripts)
␣Zero-width joiner (used in Indic scripts and emoji)
␣Soft hyphen (shows only at a line break)
₹NoneIndian rupee sign
$NoneDollar sign
€Euro sign
£Pound sterling
¥Yen / yuan sign
¢Cent sign
₩NoneWon sign
₽NoneRuble sign
₨NoneRupee sign (old 'Rs' symbol)
।NoneDevanagari danda (full stop in Hindi)
॥NoneDevanagari double danda
ॐNoneDevanagari Om
ऽNoneDevanagari avagraha
©Copyright
®Registered trademark
™Trademark
§Section sign
Paragraph (pilcrow) sign
†Dagger (footnote)
‡Double dagger
–En dash (ranges: 2025–26)
—Em dash
‘Left single quote
’Right single quote / apostrophe
“Left double quote
”Right double quote
«Left angle quote (guillemet)
»Right angle quote (guillemet)
…Ellipsis
•Bullet
·Middle dot
¡Inverted exclamation mark
¿Inverted question mark
×Multiplication sign
÷Division sign
−Minus sign
±Plus-minus
≠Not equal to
≤Less than or equal to
≥Greater than or equal to
≈Almost equal to
∞Infinity
√Square root
∑Summation
∏Product
∫Integral
∂Partial differential
∆NoneIncrement (delta)
°Degree (25°C)
‰Per mille
½One half
¼One quarter
¾Three quarters
²Superscript two (m²)
³Superscript three (m³)
µMicro sign
∴Therefore
∈Element of
∩Intersection
∪Union
←Left arrow
→Right arrow
↑Up arrow
↓Down arrow
↔Left-right arrow
⇐Left double arrow
⇒Right double arrow (implies)
⇔Left-right double arrow (if and only if)
↵Carriage return arrow
✓NoneCheck mark (named &check; in HTML5)
✗NoneBallot X (named &cross; in HTML5)
★NoneBlack star (named &starf; in HTML5)
☆NoneWhite star (named &star; in HTML5)
♥Heart suit
♠Spade suit
♣Club suit
♦Diamond suit
◊Lozenge
☎NoneTelephone
✉NoneEnvelope
😀NoneGrinning face emoji
αGreek small alpha
βGreek small beta
γGreek small gamma
δGreek small delta
ΔGreek capital delta
θGreek small theta
λGreek small lambda
μGreek small mu
πGreek small pi
σGreek small sigma
ΣGreek capital sigma
ωGreek small omega
ΩGreek capital omega (ohm)
ée with acute (café)
èe with grave
üu with umlaut
öo with umlaut
ñn with tilde
çc with cedilla
ßGerman sharp s
ÆAE ligature

Runs entirely in your browser. Nothing you type or upload is sent to us or stored.

Results are for general guidance. Please check anything important before relying on it. Terms of use

How to Use

  1. Choose Encode to turn text into HTML entities, or Decode to turn entities like &lt; and &#8377; back into normal characters.
  2. Type or paste your text into the input box. The result updates as you type.
  3. When encoding, pick the Entity style (named &eacute;, decimal &#233; or hex &#xE9;) and What to encode: only the five HTML special characters, or every non-ASCII character as well.
  4. When decoding text that was escaped twice (it shows &amp;lt;), switch on Fix double-encoded text.
  5. Tap Copy. To find a symbol such as ₹, ©, → or a non-breaking space, search the Entity reference table and tap a code to copy it.

What are HTML entities?

An HTML entity is a short code that stands for one character. It starts with & and ends with ;. Browsers need them for characters that have a special meaning in HTML: if you write <b> in a page, the browser treats it as a bold tag; to show it, you write &lt;b&gt;. Entities also let you write any Unicode character, such as the rupee sign ₹, in plain ASCII text. This HTML entity encoder converts text to entities and back.

There are three ways to write the same character:

CharacterNamedDecimalHex
&&amp;&#38;&#x26;
<&lt;&#60;&#x3C;
©&copy;&#169;&#xA9;
₹none&#8377;&#x20B9;
Non-breaking space&nbsp;&#160;&#xA0;

The decimal number is the character's Unicode code point, and the hex form is the same number in base 16. The Indian rupee sign is U+20B9, which is 8377 in decimal. It has no named entity, so use &#8377;, or just type ₹ in a UTF-8 page.

Worked example

To show this line as text on a web page, without the browser treating it as a link:

<a href="/offer?id=7&ref=home">Only ₹199</a>

encode it with Only & < > " ' and Named:

&lt;a href=&quot;/offer?id=7&amp;ref=home&quot;&gt;Only ₹199&lt;/a&gt;

The rupee sign stays as it is, which is fine in any page saved as UTF-8. If the text must be pure ASCII (an old database column, a legacy email template), choose every non-ASCII character too and ₹ becomes &#8377;.

Which characters must be encoded?

  • & and < in normal text, always.
  • " inside attribute values wrapped in double quotes, and ' inside single-quoted ones.
  • > is not strictly required, but encoding it is common and harmless.

Encoding these five characters is also the basic defence against cross-site scripting (XSS) when you put user-supplied text into HTML. In real code, use your framework's escaping (React, Angular, Django and Blade templates do it automatically) rather than encoding by hand.

How decoding works here

The decoder follows the HTML5 rules that browsers use. All named entities are recognised, including newer HTML5 names like &check;. A few old names such as &amp, &nbsp and &copy work even without the semicolon, exactly as in a browser. Numbers 128–159 are read as Windows-1252 characters, so &#150; becomes an en dash (–), a common leftover from text pasted out of old Word documents. Unknown names are left untouched and listed so you can check them.

Tips

  • Seeing &amp; or &amp;lt; on a live page means the text was encoded twice. Use Fix double-encoded text to recover it, then find where your code escapes it the second time.
  • &nbsp; keeps two words on the same line, useful for "₹&nbsp;500" or "Dr.&nbsp;Rao".
  • Entities aren't encryption. Encoding an email address as entities only stops the simplest scrapers.

Frequently Asked Questions

There isn't a named one. Use the decimal code ₹ or the hex code ₹. In any page saved as UTF-8, which is the default today, you can also type ₹ directly.

  is a non-breaking space: the browser never breaks a line there and doesn't collapse several of them into one. Use it to keep things like '₹ 500' or '10 km' together on one line. For layout spacing, use CSS margins or padding instead.

All three give the same character. Named entities like © are easier to read, but only some characters have names. Decimal (©) and hex (©) work for every Unicode character, including ₹ and emoji. Hex matches the U+ codes in Unicode charts.

The text was encoded twice: & became & and then & became &amp;. Decode it with 'Fix double-encoded text' switched on to get the original, and remove the second escaping step from your code or CMS.

Yes, in normal HTML. Encoding &, <, >, " and ' before putting user text into HTML stops that text from being run as code, which is the core defence against cross-site scripting. Context matters, though: inside JavaScript, URLs or CSS different escaping rules apply, so rely on your framework's built-in escaping.