Where these rates come from
The numbers are European Central Bank euro foreign exchange reference rates, delivered through the free Frankfurter API. The ECB collects them in a daily concertation between central banks at 14:15 CET and publishes them at around 16:00 CET, on TARGET working days only. The publication date is printed above the result, never hidden.
One table is fetched per visit, quoted against USD, and every pair is then computed as a cross rate through USD. That is why the page needs a single request and keeps working from cache when you are offline: the last good table is stored in this browser and marked as cached, with the date it was published.
Because the ECB does not publish at weekends or on TARGET holidays, a Saturday visit shows Friday’s rate and the date confirms it. The tool flags a table as stale when it is two or more days old, so you can tell a quiet weekend apart from a failed refresh.
How a cross rate is calculated
Every rate in the table says how many units of a currency one US dollar buys. To convert between two non-dollar currencies you divide one by the other. If 1 USD = 1,380 KRW and 1 USD = 0.92 EUR, then 1 EUR = 1,380 ÷ 0.92 = 1,500 KRW. (Those figures are illustrative — the live table supplies the real ones.)
The result panel shows both directions: the rate and its inverse. If 1 EUR = 1,500 KRW then 1 KRW = 0.000667 EUR, and 10,000 KRW = 6.67 EUR. Reading both lines is the quickest way to catch an inverted conversion before you act on it.
Cross-rating through a common base introduces no meaningful error — the ECB itself derives its non-euro pairs the same way. What it does mean is that all pairs share one publication date, so a USD/KRW figure here is as fresh, and as stale, as the EUR/GBP figure beside it.
Mid-market rate versus what you actually pay
A reference rate is the mid-point between the wholesale buy and sell prices. Nobody sells you currency at the mid-point. What you pay is the mid-market rate plus a margin, plus any fixed fee, and the margin is where most of the cost hides because it is quoted as “no commission”.
- Card payments abroad: the network (Visa/Mastercard) rate plus up to 1% network fee, plus 0–3% from your issuer as a foreign transaction fee.
- Bank transfers: typically 1–3% built into the rate plus a fixed wire fee, and sometimes a receiving-bank fee you never see quoted.
- Airport bureaux de change: the widest spreads of all, often 5–12% away from mid-market in both directions.
- Dynamic currency conversion: when a foreign terminal offers to charge you in your home currency, it is applying its own rate, usually 3–7% worse. Always choose the local currency and let your card do the conversion.
Put numbers on it: exchanging €1,000 at a 3% margin costs €30 more than the mid-market rate, and the same trip’s card spending at 1.5% costs another €15. Comparing a provider’s quote against the reference rate on this page is the only way to see that margin as a number.
The 30 currencies covered
USD, EUR, GBP, JPY, KRW, CNY, AUD, CAD, CHF, HKD, SGD, INR, BRL, MXN, ZAR, SEK, NOK, DKK, PLN, CZK, HUF, RON, ISK, TRY, ILS, NZD, IDR, MYR, PHP and THB — the set the ECB publishes reference rates for.
Four of them are conventionally written without decimal places — JPY, KRW, ISK and IDR — so ¥1,250 and ₩12,500 are shown as whole units rather than with a meaningless “.00”. The underlying conversion is always done at full precision and rounded only for display.
Currencies outside this list — RUB, ARS, EGP, VND and cryptocurrencies among them — are not covered, because the ECB does not publish reference rates for them. A currency the loaded table has no rate for is shown but greyed out rather than silently failing after you pick it.
Common problems and how to read them
The date looks old. On a weekend or a European bank holiday that is expected — the ECB simply did not publish. Press “Refresh rates” and if the date does not move, the market was closed rather than the fetch failing.
A “cached” badge appears. The last download is being reused because the network request failed or you are offline. The figures are still real ECB rates, just from an earlier publication — check the date before you rely on them for anything time-sensitive.
A shared link shows a different number. The link carries the amount and the currency pair, not the rate — it is re-fetched when the page opens. That is deliberate: a shared conversion should reflect today’s rate, not the rate at the moment it was sent.
Reference rates are indicative, not tradable. The ECB publishes them for information and statistics; they are not an offer to exchange money at that price. For accounting, most tax authorities accept either the rate on the transaction date or an official monthly average — check which one your jurisdiction requires before converting a whole ledger.
What people use it for
Travel budgeting. Convert the cost of a hotel, a rail pass or a restaurant bill before you commit, and use the mid-market figure as the yardstick against which the airport kiosk or your card issuer is measured.
Invoicing and procurement. Quoting a foreign client, comparing two supplier bids in different currencies, or checking whether a SaaS price rise is real or just the exchange rate moving — all of these need a neutral reference rate with a visible date.
Cross-border shopping. Import duty and VAT thresholds are set in the destination currency, so knowing whether a $180 order lands under or over a local limit is a conversion question before it is a customs question.