Every currency conversion has two prices: the mid-market rate (the real rate, with no markup) and the rate you are offered (the real rate minus a hidden margin). Providers that advertise "0% commission" still take their cut — inside the rate. A 2% markup on a $5,000 conversion costs $100, and you never see a line item for it. This calculator makes the hidden margin visible and comparable.

Enter the amount, the rate you were offered, and the mid-market rate (from Google, XE, or Wise — the same quote date). The calculator returns the markup percentage, the hidden cost in dollars, the effective rate, and a verdict on whether the deal is fair, steep, or worth shopping around.

No live rates here — you bring both numbers. This tool does pure arithmetic on the two rates you enter; it makes no FX rate claims and shows no market data. That keeps it honest across every currency pair and every provider, forever.

Methodology: markup % = (mid-market rate − offered rate) ÷ mid-market rate × 100, with both rates quoted as units of target currency per 1 unit of source. Hidden cost = amount × markup %. You receive = amount × offered rate; fair value = amount × mid-market rate. If the offered rate is at or above mid-market, the pair is almost certainly quoted in opposite directions, and the calculator flags it instead of printing a negative markup.

Key takeaways

  • "Zero commission" FX usually hides the fee in the rate: a 2% markup on $5,000 costs $100 with no line item anywhere.
  • Markup % = (mid-market − offered) ÷ mid-market × 100 — one formula that exposes every provider's margin.
  • Under ~0.5% markup is excellent, 0.5–1.5% is typical for good providers, 2%+ is steep — shop around above 2%.
  • The dollar cost scales with amount: 1.5% on $500 is $7.50 (ignore it); 1.5% on $50,000 is $750 (negotiate it).
  • Fixed transfer fees and FX markup stack — compare the all-in cost, never the headline rate or fee alone.
  • Always compare against the mid-market rate from the same time — rates move intraday, so same-date comparison is the only fair one.

The amount being converted, in the currency you hold.

Units of target currency per 1 unit of source. From Google/XE/Wise.

The rate in the provider's quote, same date/time.

Markup over mid-market—
Hidden cost—
You receive—
Fair-value comparison—
Verdict—

How it works

  1. Enter the amount in the currency you hold — the sum being converted.
  2. Enter the mid-market rate: units of target currency per 1 unit of source currency, from Google, XE, or Wise, at the same time as the quote.
  3. Enter the rate you were offered by the provider, quoted the same way (target per source).
  4. Read the markup percentage: (mid-market − offered) ÷ mid-market × 100 — the provider's hidden margin.
  5. Read the hidden cost in dollars and what you actually receive versus the fair mid-market value.
  6. Read the verdict: excellent (<0.5%), fair (0.5–1.5%), steep (1.5–2.5%), or expensive (2.5%+) — with what to do about each.

Worked example

Worked example — defaults:

  • Amount: $5,000 | Mid-market: 0.92 EUR/USD | Offered: 0.90 EUR/USD
  • Markup: (0.92 − 0.90) ÷ 0.92 × 100 = 2.17%
  • Hidden cost: $5,000 × 0.92 = €4,600 fair vs $5,000 × 0.90 = €4,500 received → €100 hidden (≈$108.70)

Second example — small amount: converting $500 at the same 2.17% markup hides about $10.87. Same percentage, ten times smaller consequence — markup matters most on large transfers, which is exactly when people forget to check.

Third example — excellent rate: mid-market 0.92, offered 0.916. Markup = (0.92 − 0.916) ÷ 0.92 = 0.43% — about as good as retail FX gets. On $5,000 the hidden cost is ~$21.70. Take it.

Fourth example — inverted pair trap: if you enter the mid-market as 1.087 (USD per EUR) and the offered as 0.90 (EUR per USD), the offered rate looks "above" mid-market and the calculator flags the inversion. Always quote both rates the same direction: target currency per 1 unit of source.

Fifth example — annualizing the habit: a freelancer converting $4,000/month at a 2% bank markup hides $80/month = $960/yr. Moving to a 0.6% provider hides $24/month = $288/yr — a $672/yr saving for one changed habit. FX markup is one of the few business costs you can cut without cutting anything else: same clients, same work, same amounts, less leakage.

Frequently asked questions

What is the mid-market rate?

The midpoint between the buy and sell prices on the global currency market — the "real" exchange rate with zero markup. It is what Google shows when you search "USD to EUR", what XE publishes, and what Wise uses as its reference. No retail provider actually trades with you at this rate; it is the benchmark everything else is measured against.

How is the markup calculated?

(Mid-market rate − offered rate) ÷ mid-market rate × 100. Both rates must be quoted the same direction — units of target currency per 1 unit of source currency. Example: mid 0.92, offered 0.90 → (0.92 − 0.90) ÷ 0.92 = 2.17%. Multiply the markup by your amount for the hidden dollar cost.

Do it once by hand so you trust the formula, then let the calculator do it forever. The useful habit is not the arithmetic — it is the reflex: every quote gets two numbers (offered, mid-market) before it gets your money. Providers count on you skipping this step; the markup only survives inattention.

What counts as a good markup?

Under 0.5% is excellent, 0.5–1.5% is fair, 1.5–2.5% is steep, 2.5%+ is expensive. Specialist providers (Wise, OFX) typically land in the fair band. Banks and PayPal typically sit in the steep band. Airport kiosks and hotel desks can exceed 5%. The band matters more than the provider name — always compute it from the two rates.

Context matters as much as the band: 2% on an emergency transfer you need today is fine; 2% on a scheduled monthly conversion is a habit worth breaking. Judge the markup against the transfer's urgency and size, not in isolation — the verdict on this page does exactly that.

Why do providers say "0% commission" then?

Because the commission is inside the rate, not added on top. "0% commission" means no separate fee line — it says nothing about the margin baked into the exchange rate. A provider can truthfully advertise 0% commission while taking 2% in the rate. The only number that matters is the offered rate versus the mid-market rate.

This is the single most expensive misunderstanding in retail FX. Regulators in several countries have pushed providers to disclose the markup as a percentage, but enforcement is patchy — so the discipline has to be yours: never accept a conversion without computing the markup from the two rates. It takes thirty seconds with this calculator and it is the highest-paid thirty seconds in your financial routine.

Does the markup matter on small amounts?

Rarely — it scales with amount. A 2% markup on $500 hides $10; on $50,000 it hides $1,000. For small conversions, convenience beats optimization; for large ones, a 1% improvement is worth real money. The structural habit: check the markup before every transfer above ~$1,000, and stop checking below ~$100. The exception is frequency: a "small" 1.5% markup on a weekly $300 conversion still totals over $230 a year — small amounts, repeated often, deserve the same thirty-second check.

What is the inverted-pair trap?

Quoting the two rates in opposite directions. If mid-market is 1.087 USD-per-EUR and the offer is 0.90 EUR-per-USD, they are the same pair flipped — comparing them directly gives nonsense (the offered rate looks "better" than mid-market). Rule: both rates must read "units of TARGET per 1 unit of SOURCE". The calculator flags it when the offered rate exceeds mid-market.

Should I compare the rate or the total cost?

The total cost — markup plus any fixed fees. A provider with a 0.5% markup and a $15 fixed fee costs $17.50 on a $500 transfer (0.5% × $500 + $15), while a provider with a 1% markup and no fee costs just $5.00 — the "worse rate" wins. But on $10,000 the first costs $65 and the second $100 — the better rate wins. Always add fixed fees to the hidden markup cost and compare all-in, never headline against headline. (See the SWIFT estimator for the fee-stack version.)

Do rates move during the day?

Yes — currency markets trade 24/5 and rates move intraday. That is why the fair comparison is mid-market vs offered from the same time. Comparing this morning's mid-market rate against this afternoon's offered rate mixes market movement with markup. Pull both numbers within minutes of each other for an honest reading.

Can I negotiate the markup?

With banks, often yes on large amounts. FX desks have discretion, especially above $10,000–$25,000 — a phone call to the dealing desk routinely shaves 0.5–1% off the quoted spread. With app-based providers, no: the rate is the rate. The leverage move is always a competing quote — "Wise is offering X" is the sentence that moves bank spreads.

Timing matters too: desks quote tighter spreads during liquid market hours (London/New York overlap) than at quiet times. For a large planned conversion, calling during peak liquidity and naming your competing quote is a two-minute negotiation that can save hundreds. Small transfers are not worth the call — the absolute saving is too small — which is exactly why banks keep retail spreads wide.

Is the markup tax-deductible?

Generally, the FX cost on business conversions is part of your deductible business expenses — it reduces the net received on client payments, which flows through your income. Keep records of the rates applied. (General information, not tax advice — confirm with your accountant.)

Why doesn't this calculator show live rates?

Deliberately. Live rates would make this page a market-data product that goes stale between visits and invites disputes about whose feed is "right". You entering both numbers keeps the tool honest, permanent, and correct for every currency pair — including the exotic ones no feed covers well.

How does this relate to the SWIFT estimator?

They are companions. The SWIFT estimator models the full fee stack (sending + intermediary + receiving + spread) for bank wires; this tool isolates and compares the rate markup across any providers. Use this one to pick the cheapest rate, the SWIFT one to model the cheapest total route.

Last verified: 2026-09-25 Results are estimates for planning purposes only. Verify the figures independently before making financial decisions.