The euro sign in HTML and in some other contexts

This document is largely historic only. The euro sign is now so widely supported that the warnings about it are mostly outdated.

In HTML documents, it is best to refer to the euro currency with words and to avoid using the euro sign, until sufficiently widespread support to it exists in browsers. If you use the euro sign, the correct numeric reference is € and the correct entity reference is €. This document also discusses some alternative methods, such as using an image, and also some incorrect methods.

The euro sign as a character

The euro currency unit has an official symbol, the euro sign. In principle, there is nothing particularly specific about it as a character in data processing, except that it was introduced relatively recently; it was included into Unicode in version 2.1 in 1998, under the name euro sign, with the informative note "Currency sign for the European Monetary Union". Consequently, the problems of presenting it on Web pages written in HTML include the general problems of presenting special characters, but in addition to them, there can be special problems since old fonts often lack this character due to its recent introduction. This document tries to summarize the problems and solutions of presenting characters in HTML as applied to this important special case.

The names

Normally you should use the word "euro", in applicable spelling and form according to language and context, when referring to euros on Web pages. That means, for example, "42 euros" in English and French, "42 Euro" in German, "42 euroa" in Finnish, etc. See the official document Spelling of the words "euro" and "cent" in the official Community languages (also available as a PDF document, which has the Greek words right). It's up to you to decide what you think about the ungrammatical rule that "euro" should not have an "-s" in plural in English. See also Michael Everson's notes on the name of the euro in European languages.

Note that in any case the word "euro" must not have a capital initial in English (except, of course, in a context where any other noun would be capitalized too). Unfortunately there is confusion around this, even in official documents.

The abbreviation

The official abbreviation EUR has its own scope of applicability; basically, it is used in international banking business, when ISO 4217 abbreviations like USD (for US dollar) are used systematically.

Note that EUR is the official abbreviation, the euro sign is the official symbol. The two have their own areas of use, just as words have. If words are inadequate (e.g. in a table of data or a price notation which should be language-neutral), the symbol is to be preferred in most contexts, but if it cannot be used for practical reasons, the EUR abbreviation is the best choice. (Depending on the context, you might consider presenting abbreviations like EUR in reduced font size. In HTML, you could use the markup <small>EUR</small> for this.)

Say No to surrogates like "e"

Various surrogate abbreviations have been suggested for the euro sign. It should be evident that no surrogates are needed: when you can't use the real euro sign, use words, or the official EUR abbreviation. If you really think you need something shorter due to some space constraints, well, perhaps you then introduce an ad hoc abbreviation. As all such abbreviations, it should be explicitly explained instead of relying on readers' intuition.

A particularly harmful surrogate is the letter "e". It deceptively resembles the estimated symbol character (U+212E), sometimes called "EEC sign", which can be seen as a stylicized "e" but is defined to be a distinct character. It is used in European packaging (according to directives 75/106/EEC and 76/211/EEC and amendments to them). As regards to its character status and appearance, see Michael Everson's The ESTIMATED SIGN in implementation. Note that the estimated sign often occurs in the same context as euros, so if "e" is used for euro, the risk of confusion is very real. If you absolutely must use a single-letter abbreviation for the euro, use capital E, as suggested in the Report on the Euro in IT Standardization by CEN TC 304.

What if you need to use the euro sign?

For general information on the euro sign especially in data processing, see section Euro symbol in IT impact of the Euro. Note that the section also contains information pertinent to Microsoft products; generally, methods which work within Windows, MS Word, and other Microsoft software do not work on the World Wide Web, or in data transfer between different system, except perhaps through special arrangements.

In particular, in text processing systems various program-specific solutions exist and usually let you produce the euro sign on paper. But in data transfer, you need to make sure that the programs involved have the same idea of the euro sign. Even between two installations of MS Word, problems may arise since one them has not been "euro updated". ("Euro product updates" are freely available from Microsoft.)

In LaTeX authoring, you can \usepackage{textcomp}, which lets you write \texteuro to produce the euro sign. This however requires that you are using a sufficiently new version of LaTeX, namely LaTeX 2e December 1997 version or newer. There are other packages too which let you enter the euro symbol too, such as eurosym.

In plain text, the problem is that the data should be sent with adequate, preferably computer-readable information about the encoding. In E-mail, this is simple in principle if MIME is used. One would use a Content-Type header field to specify the encoding, which could be e.g. the iso-8859-15 encoding, where the euro sign is coded as 164 decimal, or Unicode, where the euro sign is U+20AC. But in practice, it generally does not work; so it should be used only upon previous mutual agreement based on sufficient information. Even stronger, you can't use the euro sign in Usenet postings, where the character repertoire is limited generally to ASCII, though in various national or otherwise specialized groups other encodings (but rarely anything that contains a code for the euro sign) can be used.

In HTML, which is the main concern in this document, there are several ways one could try.

Various presentations in HTML

The following table can be useful for testing how your browser treats the various methods, correct and incorrect, which are used or might be attempted to present the euro sign in HTML.

characterization of method notation used appearance notes
numeric character reference &#8364; rather widely but not universally supported
entity reference &euro; somewhat less widely supported but may degrade better
numeric character reference in hexadecimal &#x20AC; very limited support
incorrect numeric character reference &#128; undefined; if it works, consider it as an illusion
"raw data" in Windows encoding octet 128 (dec.) = 80 (hex.) N/A can be formally correct but mostly Windows-specific
"raw data" in ISO 8859-15 encoding octet 164 (dec.) = A4 (hex.) N/A can be formally correct but requires ISO 8859-15 support
image <img src="euro.gif" alt="euros"> euros does not adapt to font family or scale to font size

A comparison of the alternatives

None of the methods works reliably, and most of them do not "degrade gracefully", i.e. a browser which does not support the method does not display anything reasonable. A few notes:

How about scaling text to fit the size of an image, or vice versa? Well, it does not pay off to try to set the font size to a specific value to make it match your euro sign image size. That would be backwards thinking and cause much more serious problems than it might possibly solve. The reverse idea, namely scaling the image to font size, makes a lot of sense in principle but works poorly in practice. It is technically easy to include an attribute like style="height:0.8em" into the img tag, suggesting that the image be rescaled (by the browser) to 0.8 of the current font size (preserving its width:height ratio) but such a scaled will often look poor, even on browsers such as IE 4+ which support such scaling via style sheets. The browsers' scaling algorithms are so poor that any considerable increase makes it badly granular. However, scaling in the opposite direction tends to work better, though reduction in size can make the image foggy. If you use the method of scaling images in browsers, try to make sure the scaling takes place downwards, from larger to smaller size.

Presentation of amounts in euros

Report on the Euro - € - in IT Standardization by CEN says:

Each country has currently their own preferred convention to display amounts in their national currency. This national individualism is expected to extend to the display of amounts in euro.

For example, in Finnish the convention is to use the currency symbol after a number, and leave a space between them. In such cases, to avoid undesired line break between them, you can use a no-break space instead of a normal space. In HTML this means something like
42&nbsp;&#8364;

The above-mentioned report however defines a "European default" for certain purposes like "official, pan-European business of EU, EEA, CEN, and related organizations". It corresponds to widespread usage in English: write the currency symbol before a number, with no intervening space. On the other hand, if EUR is used, a no-break space should be between it and the number after it.

What about the cent?

What about (euro)cent? Well, here are my 2 cents worth. You will hardly need a symbol for cent. In normal prose, the word will do just fine. In abbreviated notations, it is best to write all sums in euros, e.g. "€0.05" instead of anything like "5 c", wondering whether "c" is understandable enough. It would be very confusing to write "5 ¢", since the cent sign ¢ is so widely known as one hundredth of a dollar (mainly US dollar).


For related information in Finnish, see Euron symbolista ja lyhenteistä.