Currency Exchange Fees: The Hidden Costs Banks Don't Tell You
A breakdown of the real costs of exchanging currency — comparing banks, fintechs, kantors, and cards. Learn where your money actually goes.
When you exchange money, the price you pay isn’t just the exchange rate. There’s a whole ecosystem of fees — some visible, many hidden — that can eat into your money. Banks in particular have become experts at burying costs where most people won’t look.
Let’s pull back the curtain on what currency exchange really costs.
The Two Ways You Pay
Every currency exchange has two cost components:
1. The Spread (Hidden in the Rate)
The spread is the difference between the mid-market rate (the “real” rate) and the rate you’re actually offered. This is where most of the cost lives, and it’s deliberately opaque.
Example: The ECB publishes EUR/PLN at 4.215. Your bank offers you 4.10. That 0.115 difference represents a 2.7% hidden fee. On a €5,000 exchange, you’re losing 575 PLN (about €136) — and the bank never calls it a “fee.”
2. Explicit Fees (The Ones You See)
These include:
- Transaction fees (flat per-transfer charges)
- Commission percentages
- “Service charges”
- Intermediary bank fees (for SWIFT transfers)
- Receiving bank fees
Some providers have both. Some have neither but make up for it with a worse rate. The only way to compare fairly is to look at the total cost — spread plus fees combined.
The Real Cost Comparison
Let’s compare the actual cost of exchanging €1,000 to PLN using different methods (based on typical rates in February 2026, ECB reference: 4.215):
Traditional Banks
What they advertise: “No commission on currency exchange!”
What they don’t say: The rate they offer is 2–4% worse than mid-market.
Typical cost breakdown:
- Exchange rate offered: ~4.10 (2.7% spread)
- Transfer fee: €0–15
- Total cost: €27–42 (2.7–4.2%)
- You receive: ~4,100 PLN
Some banks charge even more for “same-day” or “express” transfers. Others add fees for online vs. in-branch transactions.
Fintech Services (Wise, Revolut)
What they advertise: “Real exchange rate with low, transparent fees.”
Reality: Generally true. These services have disrupted banking precisely by being transparent about costs.
Typical cost breakdown:
- Exchange rate: ~4.210 (0.1% spread)
- Transfer fee: €1–6
- Total cost: €2–10 (0.2–1.0%)
- You receive: ~4,200 PLN
The savings are dramatic: €20–35 more per €1,000 compared to a traditional bank. Over a year of monthly transfers, that’s €240–420 saved.
Physical Kantors (Exchange Offices)
What they advertise: “0% commission!”
Reality: True — the cost is entirely in the spread, but good kantors keep it tight.
Typical cost breakdown:
-
Good city kantor rate: ~4.19 (0.6% spread)
-
Commission: €0
-
Total cost: ~€6 (0.6%)
-
You receive: ~4,190 PLN
-
Tourist-trap kantor rate: ~3.95 (6.3% spread)
-
Commission: €0
-
Total cost: ~€63 (6.3%)
-
You receive: ~3,950 PLN
The variance between kantors is enormous. Location matters more than anything.
Credit/Debit Cards Abroad
What they advertise: “Use your card anywhere in the world!”
What they don’t say: There are up to four separate fees stacked on every transaction.
Typical cost breakdown:
- Card network fee (Visa/Mastercard): 0–1%
- Bank’s foreign transaction fee: 1.5–3%
- Dynamic Currency Conversion (if accepted): 3–7%
- ATM withdrawal fee: €2–5 flat
Worst case scenario: You use a standard bank card at an ATM, accept DCC, and your bank charges a foreign transaction fee: 7–12% total cost.
Best case: You use a fee-free multi-currency card (Wise, Revolut) at a non-DCC ATM: 0–0.5% total cost.
Hidden Fees Most People Miss
Intermediary Bank Fees
When you send money via SWIFT (international bank transfer), your money often passes through one or more intermediary banks. Each one can deduct a fee — typically €10–25. You send €1,000, but only €950–975 arrives.
How to avoid: Use services that operate within the SEPA network (for EUR transfers within Europe) or use Wise/Revolut which have local bank accounts in multiple countries.
Receiving Bank Fees
Some banks charge the recipient a fee for incoming international transfers. This is especially common with USD transfers. Your Polish bank might charge 20–50 PLN for receiving a SWIFT transfer.
How to avoid: Ask your bank about incoming transfer fees. If they charge them, consider switching or using alternative services.
Currency Conversion on Subscriptions
If you pay for international subscriptions (Netflix, Spotify, SaaS tools) with a card in a different currency, you’re paying a conversion fee on every single billing cycle. These small fees add up to €50–100+ per year for heavy subscription users.
How to avoid: Use a multi-currency card and pay in the merchant’s native currency, or see if the service offers billing in your local currency.
The “Guaranteed Rate” Trap
Some services offer to lock in an exchange rate for a future transfer. This sounds appealing, but the locked rate almost always includes a premium of 1–3% above the current market rate. You’re paying for certainty — but overpaying for it.
Markup on “Fee-Free” Services
“No fees” doesn’t mean “no cost.” Every service needs to make money somewhere. If there’s no explicit fee, the cost is embedded in the rate. Always compare the rate you’re offered against the ECB reference rate to see the real cost.
How to Calculate the True Cost
Here’s a simple formula:
True cost % = ((Mid-market amount – Amount received) / Mid-market amount) × 100
Example: ECB rate EUR/PLN = 4.215. You exchange €1,000.
- Mid-market amount: 4,215 PLN
- Your bank gives you: 4,100 PLN
- True cost: ((4,215 – 4,100) / 4,215) × 100 = 2.73%
Always do this calculation before exchanging. If the true cost exceeds 1%, you can almost certainly find a better deal.
The Smart Approach
- Know the benchmark: Check the current ECB rate on FX Europe before any exchange
- Calculate the true cost: Use the formula above, not just the advertised “fee”
- Compare total costs: Rate + fees + any hidden charges
- Choose the right tool for the amount:
- Under €200: Multi-currency card (convenience wins)
- €200–2,000: Wise, Revolut, or a good kantor
- Over €2,000: Compare Wise, OFX, and your bank’s negotiated rate
- Never accept DCC: At ATMs or card terminals, always pay in the local currency
- Set up rate alerts: Use FX Europe to get notified when rates move in your favor
The Industry Is Changing
The good news: competition from fintechs has forced traditional banks to become more transparent. EU regulations now require banks to disclose their markup compared to ECB rates for euro transactions. And new entrants keep pushing costs down.
But hidden fees haven’t disappeared — they’ve just gotten more creative. The best defense is awareness. Know what you’re paying, compare your options, and don’t let anyone convince you that “free” exchange is truly free.
Your money deserves better than a 3% haircut every time it crosses a border.