Convert CAD, USD, and major currencies based on bank rate estimates.
Non-Cash (Electronic/Draft)
Cash (Banknotes)
CAD – Canadian Dollar
USD – US Dollar
EUR – Euro
GBP – British Pound
JPY – Japanese Yen
USD – US Dollar
CAD – Canadian Dollar
EUR – Euro
GBP – British Pound
JPY – Japanese Yen
*This field auto-fills with an average market estimate including typical bank spread. You can edit this if you have a specific rate.
Converted Amount:
0.00
Disclaimer: This tool is for estimation purposes only. Actual exchange rates at TD Canada Trust or other financial institutions vary by moment, branch, and customer relationship. Rates used here are estimates based on typical bank spreads over mid-market rates.
Understanding TD Canada Trust Exchange Rates
When converting currency through major Canadian banks like TD Canada Trust, the rate you receive is rarely the "spot rate" you see on news tickers or Google. Banks apply a spread—a difference between the buy and sell price—which covers their operational costs and profit margin.
Key Term: The Spread
If the mid-market rate for USD is 1.35 CAD, a bank might sell you USD at 1.38 CAD (adding a markup) or buy your USD at 1.32 CAD (deducting a margin).
Cash vs. Non-Cash Rates
Our calculator allows you to select between "Cash" and "Non-Cash" because the rates often differ depending on the form of money:
Non-Cash (Electronic/Drafts): Generally offers a better exchange rate. This applies when you transfer money between accounts (e.g., CAD Chequing to USD Savings), send a wire transfer, or purchase a bank draft.
Cash (Banknotes): Usually incurs a higher spread. Handling physical currency involves shipping, security, and storage costs for the branch, which is reflected in a slightly less favorable rate for the customer.
How to Calculate Your Conversion Cost
To understand the true cost of your currency exchange, follow these steps:
Identify the Direction: Are you buying foreign currency (Selling CAD) or selling foreign currency (Buying CAD)?
Check the Bank Rate: Log into EasyWeb or visit a branch to get the specific rate for that minute.
Compare to Mid-Market: Compare the bank rate to a neutral market rate source. The difference is the cost of the service.
Factors Affecting Your Rate
Several factors influence the rate TD or other banks will offer:
Market Volatility: In times of economic uncertainty, spreads may widen.
Amount Transacted: For very large transactions (often over $50,000 equivalent), banks may offer "preferred rates" or "borderless" plan improvements.
Currency Pairs: Major pairs like CAD/USD usually have tighter spreads (lower cost) than exotic currency pairs.
Use the calculator above to estimate your conversion based on current typical bank margins. Always confirm the final rate with your branch before executing a transaction.
// Initial setup on load
window.onload = function() {
updateEstimatedRate();
};
function updateEstimatedRate() {
var from = document.getElementById("td_from").value;
var to = document.getElementById("td_to").value;
var type = document.getElementById("td_type").value;
var rateInput = document.getElementById("td_rate");
// Base approximate mid-market rates relative to CAD (Estimates for demo logic)
// 1 Unit of [Key] = X CAD
var baseRatesToCAD = {
"CAD": 1.0,
"USD": 1.36,
"EUR": 1.48,
"GBP": 1.72,
"JPY": 0.009
};
// Determine spread based on transaction type
// Cash usually has higher markup (e.g., 4%), Non-cash lower (e.g., 2.5%)
var spread = (type === "cash") ? 0.045 : 0.025;
// Calculate Mid-Market Rate for the specific pair
var fromValInCAD = baseRatesToCAD[from];
var toValInCAD = baseRatesToCAD[to];
var midRate = fromValInCAD / toValInCAD;
// Apply Bank Spread Logic
// If Bank SELLS currency (customer buys foreign), rate is higher (Customer gets less).
// If Bank BUYS currency (customer sells foreign), rate is lower (Customer gets less).
var finalRate;
if (from === "CAD") {
// Customer Selling CAD to Buy Foreign (Bank Selling Foreign)
// Bank gives fewer Foreign units per CAD -> Rate should be LOWER than mid-market?
// Wait: Rate = Target/Source.
// Example: CAD to USD. Mid = 0.73. Bank sells USD at high cost.
// You give 1 CAD, you get 0.70 USD. (Rate is lower).
finalRate = midRate * (1 – spread);
} else if (to === "CAD") {
// Customer Selling Foreign to Buy CAD (Bank Buying Foreign)
// Example: USD to CAD. Mid = 1.36. Bank buys USD low.
// You give 1 USD, you get 1.32 CAD. (Rate is lower).
finalRate = midRate * (1 – spread);
} else {
// Cross currency (e.g., USD to EUR) via CAD
// Double spread usually applies
finalRate = midRate * (1 – (spread * 1.5));
}
// If From and To are same
if (from === to) {
finalRate = 1.0;
}
// Round to 4 decimals for standard forex display
rateInput.value = finalRate.toFixed(4);
}
function calculateConversion() {
// Get elements exactly by ID
var amountEl = document.getElementById("td_amount");
var rateEl = document.getElementById("td_rate");
var fromEl = document.getElementById("td_from");
var toEl = document.getElementById("td_to");
var resultBox = document.getElementById("td_result_box");
var finalAmountEl = document.getElementById("td_final_amount");
var rateUsedEl = document.getElementById("td_rate_used");
var inverseEl = document.getElementById("td_inverse_rate");
// Parse values
var amount = parseFloat(amountEl.value);
var rate = parseFloat(rateEl.value);
var toCurrency = toEl.value;
var fromCurrency = fromEl.value;
// Validation
if (isNaN(amount) || amount <= 0) {
alert("Please enter a valid amount to convert.");
return;
}
if (isNaN(rate) || rate 0) {
var inverse = 1 / rate;
inverseEl.innerHTML = "Inverse: 1 " + toCurrency + " = " + inverse.toFixed(4) + " " + fromCurrency;
}
}