Independent education site We never collect passwords, codes, private keys, seed phrases or KYC files Some outbound links are sponsored referral links

How to calculate the FX spread: the real cost behind “zero fees”

For the same amount, compare the dollars that arrive. Use the ECB reference rate as the yardstick and separate the spread from the fee.

Before looking at a “zero fee” label, copy the amount charged, the quoted rate and the amount due to arrive. For the same local-currency spend, the route that delivers fewer dollars costs more; the mid-market rate and fee lines explain where the gap went.

Compare net dollars, not fees

To compare two routes, hold the local-currency amount and the time of the quote constant. Record three numbers: the platform rate, any separately listed fee and the dollars you actually receive. The last number captures the combined effect of the rate and the explicit fee, so a “zero fee” label cannot settle the comparison by itself.

Next, use the mid-market rate from the same time to calculate how many dollars that local amount would buy at the benchmark. Subtract the amount that arrived: the difference is the total conversion loss. Compare that with the fee line and the remainder will usually be the exchange-rate markup, or spread. The worked example below does this with the ECB reference rate and a hypothetical bank quote.

How to check the mid-market rate

The mid-market rate (also called the interbank rate or the market midpoint) is the number sitting exactly between the buy price and the sell price. It is the shared reference every quote builds on, with no markup added, so it is your baseline for judging every price you are shown.

Where to look depends on the number you need. For the rate right now, search the currency pair (your currency against the dollar, say) on a common currency converter and compare two or three. For a figure you can point to later, use the European Central Bank's euro reference rates, updated around 16:00 CET each working day for about 30 currencies. On 11 September 2026 the ECB's dollar rate was 1 euro = 1.1592 dollars.

European Central Bank euro foreign exchange reference rates page showing data for 11 September 2026, with the US dollar at 1.1592
The ECB's reference rate page. The ECB itself says the rates are for information only and discourages using them for transactions, so treat them as a yardstick, not a price anyone will give you. Captured 13 September 2026, open the original.
One small habit: check the mid-market rate before you convert, then once it is done, back the number out again from what you actually received. Do this a few times and you will get a feel for which channels run wide spreads and which run tight, instead of being led by the ad copy.

The spread is the gap between the quote and the mid

Once the mid-market rate is clear, the spread takes one sentence: the spread is the gap between the price the platform quotes you and the mid-market rate. A platform will not convert at the mid. It adds a little on top of the mid (quoting you a touch dearer when you buy dollars, a touch cheaper when you sell), and that added slice is a piece of its revenue, which is a piece of your cost.

The catch: the spread is usually not listed under the “fee” line. It is folded straight into the rate. So when you see “zero fee”, that does not mean the conversion was free. It only means the explicit-fee line is zero, while the hidden line (the spread) is still there. You have to read both lines together to know the cost.

How to read a fee page: go to the platform’s pricing or fees page and look for these words: exchange rate (the rate it uses), mid-market rate (whether it states it uses the mid), markup or spread (the added margin), and fee (the explicit charge). Some platforms state plainly, “we use the mid-market rate and charge a separate fee”. Others bury the whole cost in the rate and list nothing. Whether a channel can spell out its cost is itself a clue worth weighing.

Charges you can see, and ones you can't

Splitting the cost of a conversion into two kinds makes things much clearer:

TypeWhat it looks likeWhere to find itEasy to miss?
Explicit feeA stated commission, transfer fee or fixed chargeThe fee line, the statement detailNo, it is out in the open
Hidden fee (spread)The markup folded into the rateOnly visible when you compare against the midYes, often masked by “zero fee”
Add-on chargesIntermediary-bank fees, withdrawal fees, currency-conversion feesThe fine print, the reconciliation after it landsFairly easy, scattered across steps

Whether a provider charges each item, and how, is on its price list and order screen.

Plenty of channels are happy to push the explicit fee very low, even to zero, because they earn on the hidden fee (the spread). That is not necessarily a bad thing. The point is that you need to know where to look and how to compute it, so you can compare channels properly.

Why “zero fee” can cost more

“Zero fee” is a wonderfully useful piece of ad copy, because it is true: the explicit-fee line really is zero. The trouble is it tells only half the story. When a channel drops the explicit fee to zero, it usually shifts the cost into the hidden fee, which means it widens the spread. The result: the one advertising no fee can leave you with fewer dollars than a channel that charges a clear, stated fee but uses the mid-market rate.

So “zero fee” is not a scam, but it is a misleading frame. Only one standard cuts through every bit of marketing when you judge whether a conversion was expensive: for the same amount, how much ended up in your hands. Ignore the words on the fee line. Look at the number at the finish.

Back out how much the spread took

In practice it takes three steps:

  1. Before converting, find the current mid-market rate on a public rate page and write it down.
  2. On the order screen, note the price you are given and the amount you will receive or be charged.
  3. Set the quote against the mid; the difference is what the spread took on this conversion. As a percentage, it can be compared across providers.

Here are the three steps with real numbers. Say you are in the euro area and want to turn €1,000 into dollars. The reference rate is the ECB's 1.1592 for 11 September 2026; the bank's quote is a hypothetical 1.1350, advertised as fee-free.

StepValueNote
Owed at the reference rate$1,159.201,000 × 1.1592
Received at the bank's quote$1,135.001,000 × 1.1350
Taken by the spread$24.20The difference, hidden in the rate
Stated fee$0This is the so-called “zero fee”
Real total cost$24.20About 2.1% of the amount owed

The reference rate is the ECB's published figure for 11 September 2026; the bank quote is hypothetical, used to show the method.

Spread calculator

Put in the mid-market rate and the platform’s quote, and see how much this conversion loses to the spread. Everything is computed locally in your browser; nothing is uploaded or stored.

Fill in all three (each greater than 0) and the result appears.

The result uses only the numbers you enter. What you can actually get is the amount received on the provider's order screen.

The fee line says zero and the real cost is $24.20. That money is not on the fee line; it sits in the gap between owed and received. Repeat the three steps with another provider and you can see for yourself whose spread is wider.

Weekend and holiday delays

Beyond cost there is one more hidden price that is easy to overlook: time. Many cross-border conversions and transfers ride bank settlement systems, which do not process on weekends and holidays. A transfer you start on a Friday night may not truly land until Monday or later. The rate moves over that window, and the money sits unusable.

This is not a fee, but it is a real cost. If you have a deadline (a payment to make, say), confirm the channel’s settlement timing before you convert, and avoid starting one over a weekend or a long holiday. It saves a good deal of anxiety.

Don’t gamble timing on money you need

Once you know how the spread works, some people flip it around: should I wait for a “good rate” before converting? For money you actually need, my view is don’t gamble. No one can reliably predict where the rate goes in the short run, and betting on timing to save a sliver of spread often costs more than it saves. The cost of picking the wrong channel and going back and forth tends to hurt more than a passing wobble in the rate.

The steadier approach: pick the channel well (tight spread, transparent terms), get the process running smoothly, convert when you need to, and don’t let “wait for a better price” turn into an endless dither. For how the different containers compare on cost and trade-offs, read on: Where to hold US dollars: bank account, wallet, broker or stablecoin; for multi-currency wallet fees, see Can Wise or Revolut hold your dollars?

Pay in the local currency at the card terminal

When you pay by card abroad or on a foreign website, the terminal or checkout page sometimes offers to charge you in your home currency. This is dynamic currency conversion (DCC). It looks convenient, but the rate is set by the merchant's payment provider and is often worse than the one your own card issuer would use.

When offered the choice, pick the currency of the country you are paying in, dollars in the US or yen in Japan, and let your card issuer convert. If the receipt or checkout page shows both amounts, you can check the gap against a reference rate on the spot.

Since April 2020 the EU has required whoever offers this conversion to show the markup before you pay, as a percentage over the ECB reference rate. That is what a reference rate is for: with a public yardstick, a markup has nowhere to hide.

Common questions

Are the spread and the fee the same thing?No. The fee is the stated, explicit charge; the spread is the hidden charge folded into the rate. One sits on the fee line, the other shows only when you compare against the mid. The real cost is the two added together.
Where is the most reliable place to check the mid-market rate?For a figure you can cite later, use the euro reference rates the European Central Bank publishes around 16:00 CET each working day. For the rate right now, check a couple of common currency converters and take the rough level. A reference rate is for comparison; nobody will actually deal with you at it.
How do I quickly judge whether a channel’s spread is wide?Run a small test: note the mid, place the order, see what actually arrives, and turn the gap into a share. That is the spread’s size. Run the same method across a few channels and the wide ones stand out at once.
So is there a genuinely cheap way to convert?There is no channel that is “always cheapest”, only one that fits this particular amount better. Cheap or not depends on the amount, the currency, the settlement requirement and what is available in your region. This site endorses no channel; it only teaches you to do the math yourself.

Sources and updates


Qiao Dai · Pen name · About the author