Calculate your estimated Basic Housing Allowance (BHA) based on pay grade and dependents.
No Dependents
With Dependents
Understanding Your Basic Housing Allowance (BHA)
The Basic Housing Allowance (BHA), formerly known as Basic Allowance for Subsistence (BAS), is a non-taxable allowance intended to help service members cover the cost of housing. Unlike BAS which is for subsistence, BHA is specifically for housing expenses.
How BHA is Calculated
The BHA calculation is complex and depends on several factors, including:
Pay Grade: Higher pay grades generally receive higher allowances.
Location (Zip Code): This is the most significant factor, as housing costs vary dramatically by geographic area. The Department of Defense publishes specific BHA rates for different zip codes.
Dependent Status: Whether a service member has dependents (spouse, children) significantly impacts the BHA rate. Service members with dependents typically receive a higher allowance.
Living Situation: Whether the service member lives in the barracks or off-base housing. This calculator assumes off-base housing.
Using This Calculator
This calculator provides an estimation based on your reported pay grade and dependent status. Please note that it does not take into account your specific geographic location (zip code), which is a critical component of the official BHA calculation. The rates displayed here are illustrative and may not reflect the most current official rates or your specific BHA entitlement.
For the most accurate and up-to-date information, always consult the official BHA rate charts published by your respective service branch (Army, Navy, Air Force, Marines, Coast Guard) or visit official military finance resources.
What the Numbers Mean
The output of this calculator will show an estimated monthly BHA amount in U.S. Dollars ($) for off-base housing. This figure is intended to assist in budgeting and understanding potential housing allowances.
function calculateBHA() {
// Get input values
var payGradeInput = document.getElementById("payGrade").value.toUpperCase();
var dependentStatus = parseInt(document.getElementById("dependentStatus").value);
var baseBHA = 0;
var dependentBHA = 0;
// — Simplified BHA Rate Data (Illustrative – NOT official) —
// This data is a *highly simplified representation* for demonstration.
// Real BHA rates are location-specific and updated regularly.
var payGradeRates = {
"E-1": {"no_dep": 1300, "dep": 1600},
"E-2": {"no_dep": 1350, "dep": 1650},
"E-3": {"no_dep": 1400, "dep": 1700},
"E-4": {"no_dep": 1500, "dep": 1800},
"E-5": {"no_dep": 1650, "dep": 2000},
"E-6": {"no_dep": 1800, "dep": 2200},
"E-7": {"no_dep": 1950, "dep": 2350},
"E-8": {"no_dep": 2100, "dep": 2500},
"E-9": {"no_dep": 2250, "dep": 2650},
"W-1": {"no_dep": 1700, "dep": 2100},
"W-2": {"no_dep": 1850, "dep": 2250},
"W-3": {"no_dep": 2000, "dep": 2400},
"W-4": {"no_dep": 2150, "dep": 2550},
"W-5": {"no_dep": 2300, "dep": 2700},
"O-1": {"no_dep": 1900, "dep": 2300},
"O-2": {"no_dep": 2050, "dep": 2450},
"O-3": {"no_dep": 2200, "dep": 2600},
"O-4": {"no_dep": 2400, "dep": 2800},
"O-5": {"no_dep": 2600, "dep": 3000},
"O-6": {"no_dep": 2800, "dep": 3200},
"O-7": {"no_dep": 3000, "dep": 3400},
"O-8": {"no_dep": 3200, "dep": 3600},
"O-9": {"no_dep": 3400, "dep": 3800},
"O-10": {"no_dep": 3600, "dep": 4000}
};
// — End of Simplified Data —
var rateInfo = payGradeRates[payGradeInput];
if (rateInfo) {
if (dependentStatus === 0) {
baseBHA = rateInfo.no_dep;
dependentBHA = 0; // No additional amount for dependents in this simplified model
} else {
baseBHA = rateInfo.no_dep; // Start with the base rate
dependentBHA = rateInfo.dep – rateInfo.no_dep; // The difference is the dependent add-on
if (dependentBHA 0) {
var resultHTML = "$" + totalBHA.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 }) +
"Estimated Monthly BHA";
document.getElementById("result").innerHTML = resultHTML;
} else {
document.getElementById("result").innerHTML = "Please enter valid inputs.";
}
}