Compare Monzo's Mastercard rate against traditional bank fees.
The price tag on the item in EUR, USD, etc.
Current Mastercard rate for your destination currency.
Commonly 2.75% or 2.99% for high-street banks.
Flat non-sterling transaction fee (optional).
Cost with Monzo (GBP):£0.00
Cost with Traditional Bank (GBP):£0.00
Your Savings:£0.00
Understanding the Monzo Exchange Rate
When you use your card abroad, understanding exactly how much is leaving your bank account in Great British Pounds (GBP) can be confusing. The Monzo Exchange Rate Calculator helps you estimate the cost of a foreign transaction by comparing the Monzo rate (Mastercard wholesale rate) against typical high-street bank fees.
How Monzo Calculates Currency Conversion
Unlike many traditional banks that add a "Non-Sterling Transaction Fee" or "Exchange Rate Loading" fee, Monzo passes the Mastercard exchange rate directly to you without adding a markup for card payments.
The calculation logic works as follows:
Foreign Amount: The price you see in the local shop or website (e.g., €100).
Mastercard Rate: The wholesale market rate determined by Mastercard (e.g., 1 GBP = 1.15 EUR).
Monzo Cost: Foreign Amount ÷ Exchange Rate.
Traditional Banks vs. Monzo
Traditional banks often charge two types of fees for using your card abroad:
Percentage Markup: Usually between 2.75% and 2.99%. This is added on top of the exchange rate.
Fixed Fee: A flat fee (e.g., £0.50 to £1.50) charged every time you make a purchase or withdraw cash.
Feature
Monzo (Standard)
Typical High Street Bank
Exchange Rate
Mastercard Rate (No markup)
Mastercard/Visa Rate + Markup
Non-Sterling Fee
0%
2.75% – 2.99%
Point of Sale Fees
Free
Often £0.50+ per transaction
Dynamic Currency Conversion
Not applicable (Always choose local currency)
Often confusing
Important: Always Pay in Local Currency
When using a card machine abroad (or an ATM), you might be asked if you want to pay in GBP or the local currency (e.g., EUR, USD). This is called Dynamic Currency Conversion (DCC).
Always choose the Local Currency. If you choose GBP, the merchant's bank sets the exchange rate, which is almost always terrible compared to the Monzo/Mastercard rate.
ATM Withdrawal Limits
While card payments are fee-free with Monzo, ATM withdrawals have specific limits based on your account type:
EEA (European Economic Area): Unlimited fee-free withdrawals if Monzo is your main bank, or fees may apply after £400 depending on your plan.
Rest of World: Usually fee-free up to £200 every 30 days, with a 3% charge thereafter.
Use the calculator above to check your spending on purchases and see how much you save by avoiding traditional bank fees.
function calculateMonzoSavings() {
// 1. Get Input Values
var foreignAmount = document.getElementById('foreignAmount').value;
var rate = document.getElementById('exchangeRate').value;
var bankFeePercent = document.getElementById('bankFee').value;
var fixedFee = document.getElementById('fixedFee').value;
// 2. Parse Values to Floats
var amountNum = parseFloat(foreignAmount);
var rateNum = parseFloat(rate);
var bankFeeNum = parseFloat(bankFeePercent);
var fixedFeeNum = parseFloat(fixedFee);
// 3. Validation Logic
if (isNaN(amountNum) || amountNum <= 0) {
alert("Please enter a valid foreign transaction amount.");
return;
}
if (isNaN(rateNum) || rateNum <= 0) {
alert("Please enter a valid exchange rate (e.g., 1.15).");
return;
}
// Handle optional fees defaulting to 0 if empty
if (isNaN(bankFeeNum)) bankFeeNum = 0;
if (isNaN(fixedFeeNum)) fixedFeeNum = 0;
// 4. Calculate Monzo Cost (Direct conversion using Mastercard rate)
// Formula: GBP Cost = Foreign Amount / Rate
var monzoCostGBP = amountNum / rateNum;
// 5. Calculate Traditional Bank Cost
// Bank Base Cost (same as Monzo initially)
var bankBaseCost = monzoCostGBP;
// Add Percentage Fee (e.g. 2.99%)
var percentageFeeAmount = bankBaseCost * (bankFeeNum / 100);
// Total Bank Cost = Base + Percentage Fee + Fixed Fee
var bankTotalGBP = bankBaseCost + percentageFeeAmount + fixedFeeNum;
// 6. Calculate Savings
var savings = bankTotalGBP – monzoCostGBP;
// 7. Update DOM Results
document.getElementById('monzoCostDisplay').innerHTML = "£" + monzoCostGBP.toFixed(2);
document.getElementById('bankCostDisplay').innerHTML = "£" + bankTotalGBP.toFixed(2);
document.getElementById('savingsDisplay').innerHTML = "£" + savings.toFixed(2);
// 8. Show Result Container
document.getElementById('resultContainer').style.display = "block";
}