Cross Exchange Rate Calculator
Calculate cross exchange rates between any two currencies using a common base. Supports 30+ currencies with live rates and bid/ask spreads.
About
A cross exchange rate is the rate between two currencies, neither of which is the official currency of the country where the quote is given. In practice, most currency pairs do not trade directly against each other. Instead, they are quoted through an intermediary - typically USD. If you know the rate of A per USD and B per USD, the cross rate A/B is derived by division. Getting this wrong in a multi-leg FX transaction compounds rounding errors and can result in measurable P&L slippage on large notional amounts. This calculator performs triangulated cross rate derivation, computes bid/ask spreads from configurable basis points, and displays the full intermediary path so you can audit the arithmetic.
The tool fetches live spot rates from a public API and falls back to a built-in reference matrix when offline. Note: rates shown are mid-market indicative rates. Your actual execution rate will differ due to dealer spread, liquidity, and settlement timing. For exotic pairs with thin liquidity, the effective spread can be 50 - 200 basis points wider than majors.
Formulas
The cross exchange rate between two currencies A and B is derived through a common intermediary currency I (typically USD):
The bid and ask prices incorporate a spread measured in basis points (bps). One basis point equals 0.0001 of the quote currency. The half-spread h is applied symmetrically:
For the converted amount:
Where RateA/I = units of currency A per 1 unit of intermediary I. spreadbps = total bid-ask spread in basis points. Mid = the mid-market cross rate before spread adjustment.
Reference Data
| Currency | Code | Region | Typical Spread (bps) | Daily Volume (USD bn) | Category |
|---|---|---|---|---|---|
| US Dollar | USD | United States | 0 - 1 | 6,600 | Reserve |
| Euro | EUR | Eurozone | 1 - 3 | 2,300 | Major |
| Japanese Yen | JPY | Japan | 1 - 3 | 1,200 | Major |
| British Pound | GBP | United Kingdom | 1 - 4 | 970 | Major |
| Australian Dollar | AUD | Australia | 2 - 5 | 470 | Major |
| Canadian Dollar | CAD | Canada | 2 - 5 | 430 | Major |
| Swiss Franc | CHF | Switzerland | 2 - 4 | 390 | Major |
| Chinese Yuan | CNY | China | 3 - 8 | 340 | Restricted |
| Swedish Krona | SEK | Sweden | 3 - 8 | 130 | Minor |
| New Zealand Dollar | NZD | New Zealand | 3 - 7 | 120 | Minor |
| Mexican Peso | MXN | Mexico | 5 - 15 | 110 | EM |
| Singapore Dollar | SGD | Singapore | 2 - 6 | 100 | Minor |
| Hong Kong Dollar | HKD | Hong Kong | 1 - 3 | 95 | Pegged |
| Norwegian Krone | NOK | Norway | 3 - 8 | 90 | Minor |
| South Korean Won | KRW | South Korea | 5 - 12 | 80 | EM |
| Turkish Lira | TRY | Turkey | 10 - 30 | 70 | EM |
| Indian Rupee | INR | India | 5 - 15 | 65 | Restricted |
| Russian Ruble | RUB | Russia | 10 - 50 | 45 | EM |
| Brazilian Real | BRL | Brazil | 8 - 20 | 55 | EM |
| South African Rand | ZAR | South Africa | 5 - 15 | 50 | EM |
| Danish Krone | DKK | Denmark | 2 - 5 | 48 | Minor |
| Polish Zloty | PLN | Poland | 5 - 12 | 40 | EM |
| Thai Baht | THB | Thailand | 5 - 15 | 35 | EM |
| Israeli Shekel | ILS | Israel | 4 - 10 | 25 | Minor |
| Czech Koruna | CZK | Czech Republic | 5 - 12 | 22 | EM |
| Philippine Peso | PHP | Philippines | 8 - 20 | 15 | EM |
| UAE Dirham | AED | UAE | 1 - 3 | 18 | Pegged |
| Saudi Riyal | SAR | Saudi Arabia | 1 - 3 | 16 | Pegged |
| Hungarian Forint | HUF | Hungary | 6 - 15 | 12 | EM |
| Colombian Peso | COP | Colombia | 10 - 25 | 8 | Exotic |