What is the best way to display money on a website that will be available in multiple languages? I can think on many ways, but can't see the best one.

The easiest branch is using always the same currency. But this also creates a problem on how to present this information to the user in a clear way that we are talking about dollars. So, should I use $ 100.00, USD 100.00 or 100 USD ?

Other alternative is converting to the local currency on the fly. While the benefits of this approach are obvious, wont be weird that every time the user enters on the site the price for the products change?

  • Concerning conversion to the local currency: adding country detection by IP address will give you an ability to show price in local currency from the beginning. May 29 '14 at 17:56
  • @alexeypegov Yes, I can display the price in the local currency. However, I would like to avoid having a standard price for each country - this would be crazy hard to deal with the payments. If I keep the price fixed in USD, for example, the local price would keep changing.
    – fotanus
    May 29 '14 at 18:20

$100.00 - does not impart enough information to an international user. The '$' symbol (and many other currency symbols) are used by multiple countries.

USD 100.00 - is not generally the order used, and if someone doesn't know what "USD" means they could be lost.

100.00 USD - is better, but still suffers from the "USD" issue. Also, as I scan "100" is a meaningless number that is given context once I read (and hopefully understand) "USD".

Using a combination of the Currency Symbol and the ISO 4217 code (e.g., $100.00 USD) is your best bet. It immediately identifies the number as a dollar amount and verifies exactly what type of "dollar" the symbol is referring to.

Assuming that your website is based in the United States you should always present the USD amount as the primary currency. This is the "true value" of whatever you have attached the currency value to and should thusly be displayed as such. Translating to a local currency can cause confusion for the reason you mention (values always changing) and also because exchange rates are not necessarily constant from physical location-to-location within a country.

You could provide the local exchange currency value alongside the USD value. For example, one might design an e-commerce site with both values:


download bmml source – Wireframes created with Balsamiq Mockups

Provide some mechanism to get "more info" (the "[?]" in this case) on how you got that value. Give information on the exchange rate and how you calculated it.

Another possible "good to have" is the clarification that what you display is an "estimate". Depending on how you calculate that number it might not be accurate at the time the page displays, making sure the user understands that this value can fluctuate daily (or even hourly) could be beneficial depending on your audience. The "more info" link could provide additional information of why that is (legal speak: "cover your butt").


While Evil Closet Monkey's answer is really nice, there might be some over-thinking going on here, and I think this might be a simpler solution.

enter image description here

Add "USD" if you feel like it, especially when there are multiple currencies in certain countries, but the flag should largely do the tick.

Aside from that, perhaps put the price in a dropdown, or otherwise have a "currency selector" somewhere prominent.

  • 2
    A potential challenge in using just the flag is for countries whose currency originates elsewhere. The following question gives insight into this, indicating an opinion that it would generally be okay, but having a user reference a flag that is not their own is something to consider. ux.stackexchange.com/questions/14925/… May 29 '14 at 4:31
  • Cheers, fair point.
    – Dirk v B
    May 29 '14 at 6:12

Here is something that our US users may not be aware of. When displaying currency amounts, please bear in mind that many European countries use a comma to denote the decimal point, and a point instead of a comma as a thousands marker.

1,005.50 EUR would be displayed as 1.005,50 EUR

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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