Remitly is a popular choice for international money transfers, offering two main speeds: Economy and Express. The exchange rate you receive often depends on which speed you choose and the promotional offers currently available for new customers.
Unlike some mid-market providers, Remitly typically adds a margin to the interbank exchange rate. This means the rate you see on Google might be slightly better than the rate offered in the app. This calculator helps you account for that difference by calculating the final amount based on the rate Remitly shows you at checkout.
Calculation Formula
To find the exact amount your recipient gets, we use the following logic:
(Amount to Send – Transfer Fee) × Exchange Rate = Total Received
Note: In some corridors, Remitly adds the fee on top of the send amount. This calculator assumes the fee is deducted from the principal or calculated separately as per the standard Remitly "Pay With" interface.
Examples of Remitly Transfers
USD to INR (Economy): Sending $1,000 at a rate of 83.25 with a $0 fee results in 83,250 INR for the recipient.
USD to PHP (Express): Sending $500 at a rate of 55.40 with a $3.99 fee (deducted) results in 27,483 PHP.
EUR to PKR: Sending €200 at a rate of 305.20 with a €1.99 fee results in 60,432 PKR.
What is the difference between Economy and Express?
Economy transfers are usually funded via bank account. They take 3-5 business days but often come with lower or zero transfer fees and occasionally better exchange rates. Express transfers are funded via debit or credit card and arrive almost instantly, though they usually incur higher fees and potentially credit card cash advance charges from your bank.
function calculateRemitlyTransfer() {
var sendAmount = parseFloat(document.getElementById('sendAmount').value);
var exchangeRate = parseFloat(document.getElementById('exchangeRate').value);
var transferFee = parseFloat(document.getElementById('transferFee').value);
if (isNaN(sendAmount) || isNaN(exchangeRate) || isNaN(transferFee)) {
alert('Please enter valid numerical values for all fields.');
return;
}
if (sendAmount <= 0 || exchangeRate <= 0) {
alert('Amount and Rate must be greater than zero.');
return;
}
// Logic: Recipient receives (Amount – Fee) * Rate
// Note: Remitly sometimes charges fee ON TOP, but usually shows the deduction in the breakdown
var amountToConvert = sendAmount – transferFee;
if (amountToConvert < 0) {
alert('Fee cannot be greater than the sending amount.');
return;
}
var totalReceived = amountToConvert * exchangeRate;
// Display results
document.getElementById('resSend').innerText = sendAmount.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resFee').innerText = transferFee.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resConverted').innerText = amountToConvert.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resRate').innerText = exchangeRate.toString();
document.getElementById('resTotal').innerText = totalReceived.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('remitlyResult').style.display = 'block';
}