What Cambodia Really Costs in 2026: The Honest Monthly Breakdown (Rent, Food, Internet & Power)
Let’s clear something up over coffee: Cambodia is cheap, but it’s not as cheap as the 2015 blog posts told you. Phnom Penh rents have climbed, and “free utilities” is almost never what it sounds like. Below is what expats actually spend in 2026 — real numbers, no fluff — plus the tricks landlords use to pad your bill.
The 30-Second Budget Snapshot
| Monthly Cost | Budget | Comfortable | Premium |
|---|---|---|---|
| Rent (1BR/studio) | $250–$350 | $450–$700 | $900–$1,500 |
| Electricity | $15–$30 | $50–$90 | $120–$200 |
| Water | $3–$6 | $6–$10 | $10–$15 |
| Internet + Mobile | $18–$25 | $25–$40 | $45–$60 |
| Food | $180–$250 | $350–$500 | $700+ |
| Transport | $40–$70 | $80–$120 | $200+ |
| Total | $500–$730 | $960–$1,460 | $2,000+ |
🏠 Housing: Where the Big Money Goes
Rent is 40–50% of most expat budgets, and the district you pick changes everything. Here’s the 2026 reality in Phnom Penh:
- BKK1 (Boeung Keng Kang 1): The expat bubble. Modern 1BR condos $600–$1,100. Older serviced apartments $450–$650.
- Toul Tom Poung (Russian Market): The sweet spot. Studios $250–$380, 1BR with balcony $380–$550.
- Toul Kork / Sen Sok: Family-friendly, quieter. 2BR houses $500–$800.
- Siem Reap: Knock 20–30% off Phnom Penh prices. A nice 1BR runs $300–$450.
- Kampot / Kep: Rooms from $150, riverside bungalows $250–$400.
⚠️ Real Landlord Tactics to Watch
- The kWh markup: Government EDC rates run around $0.16–$0.19 per kWh, yet many private landlords bill $0.25 to $0.30 per kWh. Running daytime AC at that rate easily turns an expected $40 electric bill into $120+. Always insist on the standard EDC rate written into your lease.
- “Complimentary” shared Wi-Fi: Shared 10 Mbps routers split across 8 units choke immediately during remote work calls. Budget $18–$25/month for your own dedicated fiber-optic line.
- Unbundling condo fees: Always verify if management fees ($0.50–$1.50/m²), pool/gym usage, and motorbike parking ($5–$15/month) are inclusive or invoiced separately.
- Deposit retention traps: Standard deposits are 1 month on a 6-month lease and 2 months on a 1-year contract. Take timestamped move-in video evidence of walls, AC filters, and appliances to secure your full deposit return.
Interactive Expat Rent & Budget Calculator
Plan your personal cost of living in Cambodia below. Dial in your monthly salary, your household composition, and neighborhood style to review recommended rents and cross-regional benchmarks.
Rent & Budget Calculator
*Calculations calibrated to verified rental and living baseline data across Phnom Penh, Bangkok, and Ho Chi Minh City.
$750
Target: BKK1 / Tonle Bassac
const AREA_BADGES = {
central: 'Target: BKK1 / Tonle Bassac',
hub: 'Target: Daun Penh / Russian Market',
outer: 'Target: Toul Kork / Sen Sok'
};
const els = {
salaryInput: document.getElementById('salaryInput'),
salaryRange: document.getElementById('salaryRange'),
lifestyle: document.getElementById('lifestyleSelect'),
household: document.getElementById('householdSelect'),
maxRent: document.getElementById('maxRentDisplay'),
badge: document.getElementById('neighborhoodBadge'),
ppTotal: document.getElementById('ppTotalDisplay'),
bkkDiff: document.getElementById('bkkDiffDisplay'),
hcmcDiff: document.getElementById('hcmcDiffDisplay'),
bar: document.getElementById('percentageBar'),
percent: document.getElementById('percentageDisplay'),
savings: document.getElementById('savingsText')
};
if (!els.salaryInput || !els.salaryRange) return;
function calculate() {
const salary = Math.max(0, parseFloat(els.salaryInput.value) || 0);
const lifestyle = els.lifestyle ? els.lifestyle.value : 'central';
const household = els.household ? (parseInt(els.household.value, 10) || 1) : 1;
const mult = household === 2 ? 1.5 : 1.0;
// 1. Recommended Max Rent (30% rule)
const maxRent = Math.round(salary * 0.3);
if (els.maxRent) {
els.maxRent.textContent = '$' + maxRent.toLocaleString();
}
// 2. Area Badge
if (els.badge) {
els.badge.textContent = AREA_BADGES[lifestyle] || 'Target: Phnom Penh';
}
// 3. Phnom Penh Costs
const rentPp = DATA.rent[lifestyle] || DATA.rent.central;
const livingPp = Math.round(DATA.living.pp * mult);
const totalPp = rentPp + livingPp;
if (els.ppTotal) {
els.ppTotal.textContent = '$' + totalPp.toLocaleString();
}
// 4. Regional Comparisons (Bangkok & HCMC)
const totalBkk = DATA.rent.bkk + Math.round(DATA.living.bkk * mult);
const totalHcmc = DATA.rent.hcmc + Math.round(DATA.living.hcmc * mult);
const diffBkk = totalBkk - totalPp;
const diffHcmc = totalHcmc - totalPp;
if (els.bkkDiff) {
const isMore = diffBkk >= 0;
els.bkkDiff.className = 'mk-comp-diff ' + (isMore ? 'more' : 'less');
els.bkkDiff.textContent = (isMore ? '+$' : '-$') + Math.abs(diffBkk).toLocaleString() + ' / mo';
}
if (els.hcmcDiff) {
const isMore = diffHcmc >= 0;
els.hcmcDiff.className = 'mk-comp-diff ' + (isMore ? 'more' : 'less');
els.hcmcDiff.textContent = (isMore ? '+$' : '-$') + Math.abs(diffHcmc).toLocaleString() + ' / mo';
}
// 5. Income Share Progress Bar
const pct = salary > 0 ? Math.min(100, Math.round((totalPp / salary) * 100)) : 0;
if (els.percent) {
els.percent.textContent = pct + '%';
}
if (els.bar) {
els.bar.style.width = pct + '%';
}
// 6. Annual Savings vs Bangkok
if (els.savings) {
const annualSavings = diffBkk * 12;
if (annualSavings > 0) {
els.savings.textContent = 'Potential Annual Savings vs BKK: $' + annualSavings.toLocaleString();
els.savings.style.display = 'block';
} else {
els.savings.textContent = 'Cost of living comparable to Bangkok';
}
}
}
els.salaryRange.addEventListener('input', function(e) {
els.salaryInput.value = e.target.value;
calculate();
});
els.salaryInput.addEventListener('input', function(e) {
els.salaryRange.value = e.target.value;
calculate();
});
if (els.lifestyle) {
els.lifestyle.addEventListener('change', calculate);
}
if (els.household) {
els.household.addEventListener('change', calculate);
}
// Initial calculation on load
calculate();
})();
Was this guide helpful?
Your feedback helps us keep MoveKH accurate.