Euro sign (€) in HTML
The euro sign is the currency symbol for the euro. Its named reference is € and its code point is U+20AC, which sits outside the Latin-1 range that older encodings covered.
At a glance
- Character
- €
- Named entity
- €
- Decimal reference
- €
- Hex reference
- €
- Unicode code point
- U+20AC
- Unicode name
- EURO SIGN
- In the entity reference
- Currency, and pinned in quick access
In detail
The euro was introduced after the single byte encodings were fixed, so its code point landed at U+20AC rather than in the Latin-1 range where the pound, yen and cent signs live. That is the historical reason a page declared as ISO-8859-1 shows a question mark or a stray letter where the euro should be, and why the named entity was so widely used in the early years of the currency.
Placement is not universal. English and Irish usage puts the symbol before the amount with no space. French, German, Spanish, Italian and several other conventions put it after the amount with a space, and use a comma as the decimal separator. A template that hard codes the symbol in front of a number is wrong in most of the eurozone.
The reliable fix is to format numbers with the platform's own internationalisation formatter rather than concatenating a symbol onto a string. Given a locale and a currency code it produces the symbol, its position, the decimal separator, the group separator and the number of decimal places, all of which vary and none of which you want to maintain by hand.
For accounting output the three letter code is often better than the symbol. EUR is unambiguous, it does not depend on font coverage, and it does not have to be positioned. Reserve the symbol for prices shown to a consumer in a known locale.
Examples
const price = 1234.5;
new Intl.NumberFormat("en-IE", { style: "currency", currency: "EUR" }).format(price);
// "\u20AC1,234.50"
new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR" }).format(price);
// "1.234,50 \u20AC"<p>From €19 per month.</p>
<p>Ab 19 € pro Monat.</p>The German form uses a non-breaking space so the amount and symbol never split across a line.
Things that catch people out
- Declaring a legacy encoding in a meta tag while serving UTF-8 bytes is the classic way to get a mangled euro sign, and it affects every non-ASCII character on the page, not just this one.
- Placing the symbol before the amount in a language that places it after looks like a machine translation artefact to a local reader.
- The symbol on its own does not identify the eurozone country. For invoices and tax documents the currency code is the safer label.
Try it: HTML Entity Reference
Search 152 entities across 9 categories, switch the copy format between the character, the name, the decimal form and the hex form, and copy in one click.
HTML Entity Reference
LOCAL · Browser-OnlySearchable reference of 150+ HTML entities with one-click copy in any format
152 entities across 9 categories
Commonly Used
→Arrows(13)
±Math(35)
$Currency(8)
…Punctuation(21)
©Symbols(24)
πGreek(30)
½Fractions(6)
●Geometric(7)
æLatin Special(8)
Click any entity card to copy it in your chosen format. All data is embedded in the page and works offline.
Related HTML entities
All html entities →Pound sign (£) in HTML
The pound sign at U+00A3, its entity forms, why the name is ambiguous between sterling and the hash key, and the encoding bug that doubles the character.
Yen sign (¥) in HTML
The yen sign at U+00A5, its entity forms, the one and two bar variants, why it is shared with the yuan, and the backslash problem on older Japanese systems.
Indian rupee sign (U+20B9) in HTML
The Indian rupee sign at U+20B9, why it has only numeric references, how it differs from the generic rupee sign, and the digit grouping it belongs with.
Cent sign (¢) in HTML
The cent sign at U+00A2, its entity forms, why it follows the amount instead of preceding it, and why it has all but disappeared from modern pricing.
Degree sign (°) in HTML
The degree sign at U+00B0, its entity forms, the spacing rule that differs between temperatures and angles, and the three characters it gets confused with.
Plus minus sign (±) in HTML
The plus minus sign at U+00B1, its entity forms, how it reads in a tolerance versus a measurement uncertainty, and the minus plus character that reverses it.
Tools for this
- HTML Entity Reference Free online HTML entity reference - search and copy HTML entities with live preview
- HTML Entity Encoder Free online HTML entity encoder - encode or decode HTML entities to prevent XSS and display issues