Calculate fees instantly for receiving money, or find out the gross amount needed to get your desired net amount.
Transaction Input
Calculate Net Amount (Fees from Payment)
Calculate Gross Amount (Payment needed for Net)
Standard Domestic (2.9% + $0.30)
Standard International (4.4% + $0.30)
Friends & Family / Free (0% + $0.00)
Custom Fee…
Final Amounts
Sender Pays (Gross)
$0.00
PayPal Fee
$0.00
Receiver Gets (Net)
$0.00
Fee Breakdown
Current Formula: 2.9% of transaction + $0.30 fixed fee.
// — JAVASCRIPT SEPARATION START —// DOM Elements
const modeSelect = document.getElementById(‘mode-select’);
const feeSelect = document.getElementById(‘fee-select’);
const customFeeInputs = document.getElementById(‘custom-fee-inputs’);
const customPercentInput = document.getElementById(‘custom-percent’);
const customFixedInput = document.getElementById(‘custom-fixed’);
const amountLabel = document.getElementById(‘amount-label’);
const amountInput = document.getElementById(‘amount-input’);
const outGross = document.getElementById(‘out-gross’);
const outFee = document.getElementById(‘out-fee’);
const outNet = document.getElementById(‘out-net’);
const feeBreakdown = document.getElementById(‘fee-breakdown’);let isDarkMode = false;// — Event Listeners —
modeSelect.addEventListener(‘change’, updateLabels);
feeSelect.addEventListener(‘change’, updateFeeStructure);
// Initial setup and trigger calculation on input changes
document.addEventListener(‘DOMContentLoaded’, () => {
updateLabels(); // Initialize labels
updateFeeStructure(); // Initialize fees
amountInput.addEventListener(‘input’, calculateFees);
customPercentInput.addEventListener(‘input’, calculateFees);
customFixedInput.addEventListener(‘input’, calculateFees);
// Set initial value
calculateFees();
});// — Utility Functions —function getFeeStructure() {
const selected = feeSelect.value;
let percent, fixed;
let breakdownText = “”;if (selected === ‘custom’) {
percent = parseFloat(customPercentInput.value) / 100 || 0;
fixed = parseFloat(customFixedInput.value) || 0;
breakdownText = `Custom Fee: ${customPercentInput.value}% + $${customFixedInput.value} fixed fee.`;
} else {
[percent, fixed] = selected.split(‘|’).map(Number);
breakdownText = feeSelect.options[feeSelect.selectedIndex].text.replace(‘(‘, ”).replace(‘)’, ”);
}
feeBreakdown.innerText = `Current Formula: ${breakdownText}`;
return { percent, fixed };
}function updateLabels() {
const mode = modeSelect.value;
if (mode === ‘net-from-gross’) {
amountLabel.innerText = “Amount Sender Pays (Gross)”;
amountInput.placeholder = “e.g., 100.00”;
amountInput.value = (parseFloat(amountInput.value) || 0).toFixed(2);
} else {
amountLabel.innerText = “Amount You Wish to Receive (Net)”;
amountInput.placeholder = “e.g., 97.00”;
// Ensure initial value is positive for net to gross
if (parseFloat(amountInput.value) Net
gross = amount;
fee = (gross * percent) + fixed;
net = gross – fee;
// If Gross is too small to cover fixed fee
if (gross Gross
net = amount;
// Gross = (Net + Fixed Fee) / (1 – Percentage)
gross = (net + fixed) / (1 – percent);
fee = gross – net;
// If Net is negative or 0, calculation is simple
if (net <= 0) {
gross = fixed / (1 – percent);
fee = gross;
}
}
// Output Display
outGross.innerText = formatCurrency(gross);
outFee.innerText = formatCurrency(fee);
outNet.innerText = formatCurrency(net);
}function toggleDarkMode() {
document.documentElement.classList.toggle('dark');
}// — JAVASCRIPT SEPARATION END —
Using PayPal Fee Calculator
The PayPal Fee Calculator utility is designed for digital utility tasks. Check the on-page controls for available formats, limits and options. Always review the output for accuracy before sharing or publishing it.
Practical tips
Keep your original files or source information as a backup.
Choose suitable options using the controls provided by this tool.
Check the generated result and retry with different settings if needed.