User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a suggested, single location to place the currency symbol every time for any given locale?

For example, always on the left with a space before the amount like this:

R 10.00
$ 10.00
€ 10.00
¥ 10.00

Is this acceptable even in instances when the currency symbol is usually placed to the right of the amount, or should you keep track of the placement per locale?

Also, what is the best way to handle currencies with odd unicode characters when you plan on targeting devices that don't support the displaying of these characters? Do you default to using the three letter international code? If you do then do you still obey left-or-right placement or can you place all on the left?

share|improve this question
+1 very good question. Sometimes currency symbols are not the best choice but ISO currency codes are. Think of US $ vs. Canada $, or even a foreign exchange case between the two :-) – greenforest Jun 18 '12 at 17:21
up vote 16 down vote accepted

If you're going to bother localizing your interface, you might as well do it fully and respect the language or region's common practices.

As you mention localization, I assume this means that you will change the placement of the currency symbol based on the locale setting of the user's interface, rather than the locale of the currency symbol used.

Take French1, example:

  1. French places the currency symbol after the amount (to maintain uniformity with the rest of the metric measures, 2 $ as 2 km).
  2. Similarly, French uses , as a decimal and space as a thousands separator (1 000,59 $)

So, if you're localizing the interface for a French user, you would display 10,00 ¥; 10,00 R; 10,00 €.

Programatically, this is not difficult to achieve; see Stack Overflow's Localization tag and Programming's Localization tag and numerous resources for your development language of choice already on the internet.

{1} Source: I'm French-Canadian and my example localizes for fr_CA.

share|improve this answer
I don't know about French Canadians, but the European French will in some circumstances insert the unit in place of the decimal separator, eg. 2€50. It is true that 2,50€ will also be understood, but the former is more prevalent in my experience. This was also true when the currency was the franc (F). – Phong Jun 20 '12 at 17:49
@Phong +1 Great observation! fr_CA does not do that, but it's a great example of a pitfall of looking only to a language when localizing (as you also have to adapt to the environment in which the language is used). – msanford Jun 20 '12 at 19:07
@msanford Just as a side note: For Yen (JPY; ¥) there are no fractions/decimals of a ¥ – greenforest Nov 30 '12 at 16:39
@greenforest I didn't realize that! Thanks for the information. – msanford Dec 3 '12 at 2:06

From a finance perspective, here's a rough approximation of what we might do:
enter image description here

And here's a link to information on currency codes

share|improve this answer

There is little point in localizing just a part of a currency presentation and using non-localized or wrongly localization notations otherwise. It may confuse, and it gives the impression of half-hearted localization efforts. The CLDR database contains information about the placement of currency denotations, too. They would not have included it if they thought such things can be left unlocalized.

If you can successfully localize some user interface or some presentation of some data, the odds are that currency symbols used in a locale are available. This has changed to some extent in recent years, since symbols like the new character for Turkish lira and the Indian rupee symbol are new and generally not supported in fonts, and they may cause other problems as well.

So it may be better, in some cases at least, use currency abbreviations or names, especially since symbols like “$”, “£”, and “¥” do not unambiguously indicate a single currency. The CLDR data contains localized abbreviations and names for currencies.

The three-letter codes are meant for international banking business and for data interchange between computers, not for normal human consumption. In a user interface for common people, they should not be used, except perhaps as the last resort when everything else fails. But there’s not much reason why things should fail. If used, these codes follow the normal language-dependent placement rules (e.g., 10,00 EUR in French).

share|improve this answer
+1 for link to CLDR and mentioning symbol vs. ISO code – greenforest Jun 18 '12 at 17:33
Where can I read the contents of that CLDR database? I'd like to look up some data from it but it doesn't seem to be accessible. – LonelyPixel Jan 29 at 21:03

This isn't what I would call a best practice, just what I've learned from my experiences and what I've seen.

You're right by putting them all to the left, there needs to be uniformity. It looks odd looking at a list where some symbols are to the right and others are to the left. Think of an unordered list with check marks used to define the different lis. Some going to the left, and some going to the right. That wouldn't look to good.

Also, yes you should use the three letter international code for them. It is your safest bet for when considering how your users will be presented with the information to insure they are fully aware of where their local currency is being listed. Sites like Amazon do this too.

share|improve this answer
I do not believe this is correct. You should respect the custom where the view is being observed. If the US places symbols on the left, then it should be on the left when viewed in the US, if its on right in Italy, then it should be on the right when viewed in italy and on the left when viewed in the US. If the currency symbol is native, it should be used (unless otherwise required) otherwise the code should be used in its place to remove ambiguity (e.g. $ in Mexico is pesos, so USD should be used when referring to US dollars) – Sinaesthetic Apr 8 at 4:12

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.