Currency Converter

Convert between 30+ currencies using daily ECB exchange rates — no signup, no ads, no tracking.

How this works

A currency converter applies the exchange rate between two currencies to a given amount: amount_in_target = amount_in_source × rate. The rates this calculator uses are the daily reference rates published by the European Central Bank (ECB) — the same numbers banks and major media outlets quote when they say "the EUR/USD rate today is 1.08". The ECB publishes these once per business day around 16:00 CET, and we cache them for 24 hours so this page stays fast. Three things to know about the numbers you see. (1) These are interbank "mid-market" rates — the rate at which large banks trade currencies with each other, not the rate you'll get when you actually exchange money. Banks, ATMs, money-transfer services, and especially airport kiosks add a markup of 0.5%–6% on top. The mid-market rate is the right number for academic conversions ("how much is €100 in dollars?"); it is not the right number to plan a money transfer ("if I send €100, will my recipient get $108?"). For real transfers, services like Wise, Revolut, or your bank will quote a slightly worse rate plus an explicit fee. (2) Rates fluctuate continuously during business hours; an ECB daily fix is a single-point snapshot, not a real-time quote. For most purposes the daily fix is fine — currency-pair moves of more than ±0.5% in a day are common, but moves of more than ±2% are rare except for emerging-market currencies. (3) Currency codes here follow ISO 4217 (USD, EUR, GBP, JPY etc.) — the global three-letter standard you'll see in banking software, accounting systems and financial news. The ECB publishes about 30 currency reference rates against the euro. To convert any pair (say USD → JPY) we go via EUR: USD → EUR using the inverse of the ECB EUR/USD rate, then EUR → JPY using the ECB EUR/JPY rate. This "triangle" introduces a tiny rounding error vs. a direct USD/JPY rate but the discrepancy is well under 0.01% in practice.

The formula

amount_in_target = amount_in_source × rate(target/source) For any pair (A → B), via EUR base: rate(B/A) = rate(EUR/A)⁻¹ × rate(EUR/B)

rate(EUR/X) is the ECB-published number of units of currency X per 1 EUR. To go from any currency to any other, divide by the source rate (gets you to EUR), then multiply by the target rate. JPY is conventionally quoted to 0 decimals; most other currencies to 2.

Example calculation

  • Today's ECB rates (illustrative): EUR/USD = 1.08, EUR/JPY = 165.0.
  • Convert $200 USD to EUR: 200 ÷ 1.08 ≈ €185.19.
  • Convert $200 USD to JPY (via EUR): 200 ÷ 1.08 × 165.0 ≈ ¥30,556.

Frequently asked questions

Where do these exchange rates come from?

From the European Central Bank (ECB), via their public Euro foreign exchange reference rates feed (frankfurter.app, which redistributes ECB data). The ECB publishes daily reference rates for about 30 currencies against the euro on every TARGET business day, around 16:00 Central European Time. These rates are widely treated as the "official" mid-market reference for the euro and the currencies it covers; tax authorities, accounting standards bodies and most financial reporting frameworks accept them as a valid source. We refresh our cache every 24 hours, so what you see is always at most one business day old.

Why are the rates I see at my bank or ATM different?

Because what you see here is the "mid-market" rate — the wholesale price banks pay each other — and what your bank charges you includes a markup plus often a fixed fee. Typical retail markups: 0.3–0.5% for premium fintech accounts (Wise, Revolut on weekdays), 1–3% for retail-bank wire transfers, 3–6% for credit card foreign-currency purchases (this is actually the network rate plus the issuing bank's "foreign transaction fee"), 5–10% for airport currency exchange. The mid-market rate is useful for academic conversions ("how much is this bottle of wine in dollars?"), for accounting (some standards mandate central-bank reference rates), and for benchmarking deals you're offered ("Wise quoted me 1.075, mid-market is 1.080, that's a 0.46% spread which is competitive"). It is not what an actual transaction will execute at.

How often do these rates update?

The ECB publishes new rates once per business day around 16:00 CET (15:00 UTC), and we cache them for 24 hours. So the rate you see is at most one business day old, and on weekends and holidays you'll be looking at the previous Friday's close. This is fine for plan-ahead purposes ("budgeting our holiday in EUR"); for trade-time decisions or for big transfers you should always confirm with the actual provider — their rate may have moved a fraction of a percent since the daily fix, especially in volatile market conditions. We don't do real-time rates because (1) the public ECB feed is daily, not tick-level, (2) tick-level forex feeds are licensed and expensive, and (3) for the use cases this calculator targets, daily is plenty.

Which currencies does this support?

About 30 currencies — every currency the ECB publishes a daily rate for. That covers all G10 majors (USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, NOK, SEK), the major Asian currencies (CNY, HKD, SGD, KRW, INR, THB, IDR, MYR, PHP), Eastern European currencies (PLN, CZK, HUF, RON, BGN), Israeli shekel (ILS), Turkish lira (TRY), Brazilian real (BRL), Mexican peso (MXN), South African rand (ZAR), Icelandic krona (ISK), and a handful more. We don't cover currencies the ECB doesn't publish — that includes most African currencies (apart from ZAR), most Latin American currencies (apart from BRL and MXN), and currencies subject to strict capital controls (e.g. ARS, VES). For those you'll need a specialist provider.

Related calculators