Estimate your international money transfer results
Australian Dollar (AUD)
US Dollar (USD)
British Pound (GBP)
Euro (EUR)
New Zealand Dollar (NZD)
Japanese Yen (JPY)
Chinese Yuan (CNY)
Indian Rupee (INR)
US Dollar (USD)
Australian Dollar (AUD)
British Pound (GBP)
Euro (EUR)
New Zealand Dollar (NZD)
Japanese Yen (JPY)
Chinese Yuan (CNY)
Indian Rupee (INR)
Current indicative rate: 0.6600
NAB online transfers often have $0 fee
Send Amount:–
Less Fee:–
Amount to Convert:–
Exchange Rate:–
Recipient Gets:–
Understanding NAB Foreign Exchange Rates
When planning an international money transfer through National Australia Bank (NAB), understanding how the exchange rate is calculated is crucial for ensuring you get the best value. The NAB Foreign Exchange Rate Calculator helps you estimate the final amount your beneficiary will receive by accounting for both the exchange rate spread and potential transfer fees.
How to Use This Calculator
This tool is designed to simulate the costs associated with an international transfer:
From Currency: Select the currency you hold (usually AUD for Australian residents).
To Currency: Select the destination currency (e.g., USD, GBP, EUR).
Amount to Send: Enter the total amount you wish to transfer.
Exchange Rate: Banks update rates continuously. Enter the specific "Customer Rate" displayed on your internet banking or the indicative rate provided by the calculator. Note that the "Customer Rate" is often lower than the mid-market rate found on Google.
Transfer Fee: While many NAB Internet Banking transfers in foreign currency are fee-free, some specific transfer types or over-the-counter transactions may incur a fee (e.g., $10 AUD or $30 AUD).
Factors Affecting Your Transfer
1. The Spread: Banks earn revenue by buying currency at one price and selling it at another. The rate you are offered (the retail rate) includes a margin compared to the wholesale (interbank) rate. This calculator allows you to input the exact rate offered to see the real-world outcome.
2. Correspondent Bank Fees: Even if NAB charges $0 for the transfer, intermediary banks involved in the SWIFT network may deduct their own fees from the principal amount before it reaches the recipient. These are outside NAB's control but should be considered for large business payments.
3. Cut-off Times: Exchange rates fluctuate throughout the day. Submitting your transfer during Australian business hours often ensures your rate is locked in immediately, whereas after-hours transfers might be processed at the rate available the next business day.
Common Currency Pairs
For Australians, the most frequent conversions involve AUD to USD, AUD to GBP, and AUD to EUR. Due to the volume of trade, these pairs usually offer more competitive spreads compared to exotic currencies.
// Indicative base rates relative to AUD for placeholder purposes
// These are NOT live rates, just reasonable estimates for user guidance
var baseRates = {
"AUD": 1.0,
"USD": 0.66,
"GBP": 0.52,
"EUR": 0.61,
"NZD": 1.09,
"JPY": 97.50,
"CNY": 4.75,
"INR": 55.00
};
function updateRatePlaceholder() {
var from = document.getElementById("currencyFrom").value;
var to = document.getElementById("currencyTo").value;
var rateHint = document.getElementById("rateHint");
var rateInput = document.getElementById("exchangeRate");
// Calculate cross rate
// If From AUD -> To USD: rate is baseRates[USD]
// If From USD -> To AUD: rate is 1 / baseRates[USD]
// If From USD -> To GBP: rate is baseRates[GBP] / baseRates[USD]
var fromRateInAud = baseRates[from];
var toRateInAud = baseRates[to];
// Simple cross rate calculation
var estimatedRate = 0;
if (from === "AUD") {
estimatedRate = toRateInAud;
} else if (to === "AUD") {
estimatedRate = 1 / fromRateInAud;
} else {
estimatedRate = toRateInAud / fromRateInAud;
}
// Apply a small "bank spread" simulation (reducing the rate by ~2% to mimic retail rates)
// This makes the placeholder more realistic to what a user sees at a bank vs Google
var retailRate = estimatedRate * 0.98;
// Round appropriately based on currency (JPY usually 2 decimals, others 4)
var decimals = (to === "JPY" || to === "INR") ? 2 : 4;
var formattedRate = retailRate.toFixed(decimals);
rateHint.innerHTML = "Indicative retail rate: " + formattedRate;
rateInput.value = formattedRate;
}
function calculateFX() {
var sendAmount = parseFloat(document.getElementById("sendAmount").value);
var transferFee = parseFloat(document.getElementById("transferFee").value);
var rate = parseFloat(document.getElementById("exchangeRate").value);
var fromCurrency = document.getElementById("currencyFrom").value;
var toCurrency = document.getElementById("currencyTo").value;
// Validation
if (isNaN(sendAmount) || sendAmount <= 0) {
alert("Please enter a valid amount to send.");
return;
}
if (isNaN(rate) || rate <= 0) {
alert("Please check the exchange rate.");
return;
}
if (isNaN(transferFee)) {
transferFee = 0;
}
// Calculation Logic
// Usually fees are deducted from the source amount before conversion
var netAmount = sendAmount – transferFee;
if (netAmount < 0) {
alert("The transfer fee is higher than the amount you are sending.");
return;
}
var finalAmount = netAmount * rate;
// Formatting Results
var currencyFormatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2,
maximumFractionDigits: 2
});
document.getElementById("displaySendAmount").innerText = currencyFormatter.format(sendAmount) + " " + fromCurrency;
document.getElementById("displayFee").innerText = currencyFormatter.format(transferFee) + " " + fromCurrency;
document.getElementById("displayConvertible").innerText = currencyFormatter.format(netAmount) + " " + fromCurrency;
document.getElementById("displayRate").innerText = rate;
document.getElementById("displayFinal").innerText = currencyFormatter.format(finalAmount) + " " + toCurrency;
// Show results
document.getElementById("results").style.display = "block";
}
// Initialize placeholders on load
updateRatePlaceholder();