Enter your income, savings, household, and lifestyle, and this tool will suggest countries
where your money goes further – and where long-stay visas are more realistic for Americans.
This calculator will:
Estimate where your current income supports a comfortable life.
Show how many countries are cheaper than your current costs.
Highlight destinations with friendly long-stay visa options for Americans.
Your Top Matches
Full List of Matching Countries
Scan all countries that fit your filters. Use this list to compare costs and key visa options at a glance.
Note: Figures are rough, directional estimates based on average monthly cost of living
for a single adult or family and simple assumptions. Visa information is high-level and not legal advice.
Always verify current rules with official sources and consider talking to an immigration attorney and financial planner
before making big decisions.
";
if (!results.length) {
summaryEl.style.display = "block";
summaryEl.innerHTML =
"
No matches with your current settings.
" +
"
Try: " +
"• Lowering your lifestyle from ‘Comfortable’ to ‘Budget’, or " +
"• Unchecking the 30% cheaper filter.
";
topSummaryEl.style.display = "block";
topSummaryEl.innerHTML =
"No matches with your current settings. Try lowering your lifestyle to " +
"Budget or unchecking the 30%+ cheaper filter.";
topEl.innerHTML = "";
listEl.innerHTML = "";
showMoreBtn.style.display = "none";
// Scroll to top matches section on mobile even if empty
if (window.innerWidth < 768 && topHeadingEl) {
topHeadingEl.scrollIntoView({ behavior: "smooth", block: "start" });
}
return;
}
// Sort results by tier + index + score
results.sort(function(a, b) {
if (a.tier !== b.tier) return a.tier - b.tier;
if (a.tierIndex !== b.tierIndex) return a.tierIndex - b.tierIndex;
return b.score - a.score;
});
// Summary (no "cheaper than current life by" %)
summaryEl.style.display = "block";
summaryEl.innerHTML =
"
Good news. Based on a monthly income of " + formatMoney(income) +
" for your household, we found " + results.length +
" countries where you can afford your selected lifestyle.
" +
"
Numbers are directional. Always double-check costs, visa rules, and tax implications before committing to a move.
";
// Top summary line
topSummaryEl.style.display = "block";
topSummaryEl.innerHTML =
"We found " + results.length +
" countries where your income supports your selected lifestyle. " +
"Here are your top matches ranked by affordability and visa options.";
// Top 8 cards (only for affordable countries)
topEl.innerHTML = "";
var topCount = Math.min(8, results.length);
for (var i = 0; i < topCount; i++) {
topEl.appendChild(createTopCard(results[i]));
}
// Full list as table
var initialTableCount = Math.min(20, results.length);
renderTable(results, initialTableCount);
if (results.length > initialTableCount) {
showMoreBtn.style.display = "block";
showMoreBtn.onclick = function() {
renderTable(results, null); // all
showMoreBtn.style.display = "none";
};
} else {
showMoreBtn.style.display = "none";
}
// Scroll to "Your Top Matches" on mobile
if (window.innerWidth < 768 && topHeadingEl) {
topHeadingEl.scrollIntoView({ behavior: "smooth", block: "start" });
}
}
function createTopCard(r) {
var card = document.createElement("div");
card.className = "aba-card aba-top-card";
var title = document.createElement("h3");
title.textContent = r.name;
card.appendChild(title);
var pCost = document.createElement("p");
pCost.innerHTML =
"Estimated monthly cost for you: " +
formatMoney(Math.round(r.lifestyleCost));
card.appendChild(pCost);
var chipRow = document.createElement("div");
chipRow.className = "aba-chip-row";
var affChip = document.createElement("span");
affChip.className = "aba-chip " + r.labelClass;
affChip.textContent = r.label + " on your income";
chipRow.appendChild(affChip);
if (r.visas && r.visas.length > 0) {
var primaryVisa = r.visas[0];
var visaChip = document.createElement("a");
visaChip.className = "aba-chip aba-chip-visa";
visaChip.href = primaryVisa.url;
visaChip.target = "_blank";
visaChip.rel = "noopener noreferrer";
visaChip.textContent = "Suggested visa: " + primaryVisa.name;
chipRow.appendChild(visaChip);
}
card.appendChild(chipRow);
if (r.runwayMonths !== null && r.runwayMonths > 0 && r.savingsValue > 0) {
var pRunway = document.createElement("p");
pRunway.innerHTML = formatRunwayText(r.runwayMonths, r.savingsValue);
card.appendChild(pRunway);
}
return card;
}
function renderTable(results, limit) {
var listEl = document.getElementById("aba-where-move-list");
listEl.innerHTML = "";
var table = document.createElement("table");
table.className = "aba-results-table";
var thead = document.createElement("thead");
var trHead = document.createElement("tr");
["Country","Monthly cost for you","Lifestyle","Best visas"].forEach(function(text) {
var th = document.createElement("th");
th.textContent = text;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement("tbody");
var count = (typeof limit === "number" && limit !== null) ? Math.min(limit, results.length) : results.length;
for (var i = 0; i < count; i++) {
var r = results[i];
var tr = document.createElement("tr");
var tdCountry = document.createElement("td");
tdCountry.textContent = r.name;
tr.appendChild(tdCountry);
var tdCost = document.createElement("td");
tdCost.textContent = formatMoney(Math.round(r.lifestyleCost));
tr.appendChild(tdCost);
var tdLifestyle = document.createElement("td");
tdLifestyle.textContent = (r.lifestyle === "comfortable" ? "Comfortable" : "Budget");
tr.appendChild(tdLifestyle);
var tdVisas = document.createElement("td");
if (r.visas && r.visas.length > 0) {
r.visas.slice(0, 2).forEach(function(v, idx) {
var a = document.createElement("a");
a.href = v.url;
a.target = "_blank";
a.rel = "noopener noreferrer";
a.textContent = v.name + " (" + v.length + ")";
tdVisas.appendChild(a);
if (idx < Math.min(2, r.visas.length) - 1) {
tdVisas.appendChild(document.createElement("br"));
}
});
if (r.visas.length > 2) {
tdVisas.appendChild(document.createElement("br"));
var spanMore = document.createElement("span");
spanMore.textContent = " + " + (r.visas.length - 2) + " more";
tdVisas.appendChild(spanMore);
}
} else {
tdVisas.textContent = "See directory";
}
tr.appendChild(tdVisas);
tbody.appendChild(tr);
}
table.appendChild(tbody);
listEl.appendChild(table);
}
// Initial calculation on load with default values
runCalculation(false);
});
})();
Carlos Grider launched A Brother Abroad in 2017 after a “one-year abroad” experiment turned into a long-term life strategy. After 65+ countries and a decade abroad, he now writes about FIRE, personal finance, geo-arbitrage, and the real-world logistics of living abroad—visas, costs, and tradeoffs—so readers can make smarter global moves with fewer surprises. Carlos is a former Big 4 management consultant and DoD cultural advisor with an MBA (UT Austin) and Boston University’s Certificate in Financial Planning. He’s the author of Digital Nomad Nation: Rise of the Borderless Generation and is currently writing The Sovereign Expat.