What Are HTML Entities and When Should You Use Them?
HTML entities are special codes that represent characters which have reserved meaning in HTML or cannot be typed directly. They prevent browsers from misinterpreting content as HTML markup and allow you to display characters that aren't available on standard keyboards.
Clean HTML from unnecessary tags using our HTML Tags Remover tool.
Why HTML Entities Exist
HTML uses certain characters as part of its syntax: angle brackets (< >) define tags, ampersands (&) begin entities, quotation marks delimit attribute values. If you want to display these characters as content rather than have the browser interpret them as markup, you need to escape them.
Without escaping: <p>5 > 3 and 2 < 4</p> — the > and < might be interpreted as broken tag syntax. With escaping: <p>5 > 3 and 2 < 4</p> — renders as: 5 > 3 and 2 < 4
The Most Important HTML Entities
& — & (ampersand) — always escape in HTML content < — < (less than) — always escape in HTML content > — > (greater than) — escape when ambiguous " — " (double quote) — escape inside attribute values using double quotes ' — ' (single quote / apostrophe) — escape inside attribute values using single quotes — non-breaking space — prevents line break at that point © — © (copyright symbol) ® — ® (registered trademark) ™ — ™ (trademark) — — — (em dash) – — – (en dash) … — … (ellipsis) € — € (euro sign)
Named vs Numeric Entities
HTML entities come in two forms:
Named: © — human-readable, supported for common characters Numeric decimal: © — works for any Unicode character Numeric hex: © — same as decimal but in hexadecimal
All three produce the same output: ©. Named entities are easier to read and write. Numeric entities work for any Unicode character, including ones without a named entity.
For emoji or unusual Unicode: 😀 produces 😀
When You Actually Need Entities vs UTF-8
Modern HTML pages declare UTF-8 encoding (<meta charset="UTF-8">). With UTF-8, you can type most characters directly — ©, €, —, … — without using entities. The browser renders them correctly.
You still always need to escape: & < > in content, and " or ' inside attribute values.
Everything else (typographic quotes, dashes, currency symbols, emoji) can be typed directly in UTF-8 HTML. Using entities for them is not wrong but is unnecessary verbosity.
Remove unwanted HTML tags and clean up markup instantly
Try HTML Tags Remover Free →
