Currency Converter
Convert 34 currencies with live rates, cached for offline use
Quick compare against popular currencies
Working…
0.0
It hasn't frozen — the result will appear when the calculation finishes.
About Currency Converter
This converter downloads a USD-based rate table once a day from free public exchange-rate APIs and converts between 34 currencies. The primary source is ExchangeRate-API's open endpoint (open.er-api.com); if that fails, it falls back to Frankfurter, which republishes the European Central Bank's reference rates. The table is stored in your browser and reused for up to 24 hours, so the converter still works offline with the last rates it saw.
The figures are mid-market rates: the midpoint between what buyers and sellers are quoting. That is not the rate you get at an airport kiosk, at your bank, or on your credit card statement. Below is where the numbers come from and why real transactions come out worse.
Where the rates come from, and how old they are
ExchangeRate-API's open endpoint refreshes once every 24 hours and includes the time of the last update and the next one in each response. So the number on screen is a daily snapshot, not a live quote. On a volatile day the gap between the converter and a live trading screen can exceed 1%. Check the "Rates updated" date shown under the result.
The fallback, Frankfurter, passes through the ECB's euro reference rates. The ECB publishes them at around 16:00 CET on every working day except TARGET closing days, and states plainly that they are "published for information purposes only" and that using them for transactions is strongly discouraged. Nothing new is published on weekends, so Friday's rates stand until Monday afternoon.
How a cross rate is computed
The tool only stores one table: how many units of each currency one US dollar buys. To convert yen to euros, it divides the yen amount by the JPY rate to get dollars, then multiplies by the EUR rate (amount ÷ JPY rate × EUR rate). This is the same triangulation banks use for pairs that do not trade directly in size, though a bank's timing and markup will differ.
Results are rounded to each currency's minor unit as listed in ISO 4217: whole numbers for the yen, Korean won and Vietnamese dong, two decimals for everything else.
Why your bank or card gives you less
Banks and exchange bureaus buy currency from you below the mid-market rate and sell it to you above it. That spread is their margin, and it is wider for cash than for transfers because notes have to be stored, shipped and insured. "Commission-free" exchange booths are not free; the cost is built into the rate.
Card payments abroad are converted by the card network (Visa or Mastercard) at its own daily rate, and many card issuers then add a foreign transaction fee on top. If the merchant's terminal offers to charge you in your home currency, that is dynamic currency conversion (DCC). The merchant's provider sets that rate, and it is usually worse than letting your card network convert. Paying in the local currency is the safer default.
Transfer services differ again: some quote the mid-market rate and charge a visible fee, others hide the margin in the rate. Comparing the rate you are offered against this converter shows how much of the cost is hidden in the rate.
Historical rates
Setting an as-of date fetches that day's rates from Frankfurter's ECB data, available back to 4 January 1999, the first trading day of the euro. Pick a weekend or holiday and you get the previous business day, with a note saying so. The ECB reference set does not include the New Taiwan dollar (TWD), Vietnamese dong (VND), UAE dirham (AED) or Saudi riyal (SAR), and the ECB suspended the Russian ruble (RUB) after 1 March 2022, so those currencies cannot be converted for past dates. If you pick one, the tool says so: the ECB has no reference rate for it, so the historical rate cannot be looked up.
Worked examples
Yen to won (ECB rates, 21 Sep 2026)
- Input
100,000 JPY → KRW with 1 USD = 157.27 JPY and 1 USD = 1,372.18 KRW- Output
872,500 KRW
100,000 ÷ 157.27 × 1,372.18 = 872,499.5, rounded to whole won.
Euro to yen (same day)
- Input
1,000 EUR → JPY with 1 USD = 0.87032 EUR- Output
180,704 JPY
1,000 ÷ 0.87032 × 157.27 = 180,703.6, rounded to whole yen.
What a cash counter might charge (hypothetical)
- Input
Mid-market 1 USD = 0.87032 EUR; assume a bureau sells dollars at a 3% markup- Output
1 USD ≈ 0.8964 EUR; 500 USD costs about 448.21 EUR instead of 435.16 EUR
0.87032 × 1.03 = 0.89643. The 3% is an assumption for illustration; real spreads vary by provider and currency. The difference, about 13 EUR, is the hidden cost.
How to use it
- Choose the source and target currencies and enter an amount (thousands separators are fine).
- Check the "Rates updated" date below the result.
- For a past date, set the as-of date.
Frequently asked questions
Are these live rates?
No. The API refreshes once a day and the tool caches the table for up to 24 hours. The update date is shown on screen.
Why is my bank's rate different?
This tool shows mid-market rates. Your bank adds a spread when it sells or buys currency, and its rates are fixed at different times of day.
Should I pay in my home currency when a card terminal abroad offers it?
Usually not. Dynamic currency conversion uses the merchant provider's rate, which is typically worse than your card network's.
Why can't I get a historical rate for the Taiwan dollar?
Historical lookups use ECB reference rates, which do not cover TWD, VND, AED or SAR, and the ruble was suspended in March 2022. The tool shows that reason on screen; clear the date to convert at the latest rate.
Sources
- ExchangeRate-API — Open Access endpoint (update frequency)
- ECB — Euro foreign exchange reference rates
- Frankfurter API
- ISO 4217 currency codes
Last reviewed: