Methodology
Sources and limitsWhere these numbers come from
The rates
Every figure on this site comes from one file: the Defense Travel Management Office's annual Basic Allowance for Housing release, BAH-ASCII-2026.zip. It covers 338 military housing areas and 27 pay grades for both dependency statuses, which is 18,252 figures. Nothing here is estimated, interpolated or rounded.
The archive ships several versions of the same table, including superseded ones, and the filenames sort in an order that makes the stale copy look current. Exactly one row differs between the December and May releases: Abilene/Dyess AFB, whose bottom grade moved from $1,458 to $1,761. Taking the wrong file gives 337 correct rows and one location wrong by up to 27%. The build asserts on that specific value and refuses to run if it reads the old file.
How the DoD sets them
BAH is meant to track local rental costs, so the rate follows the housing market around the duty station rather than paying everyone the same. Three things determine your figure and nothing else does: the ZIP of your duty station, your pay grade, and whether you have dependents.
Dependents are a yes or no question. A service member with four children draws the same as one with a spouse and none. Your actual rent doesn't enter into it either: under the allowance and you keep the difference, over it and the difference is yours.
What this site derives
Two things are worked out here rather than published by the DoD, and both are built from public federal data rather than assembled by hand.
Installation names. Only 73 of the 338 areas name an installation; the rest are named after cities. So orders to Camp Pendleton, searched as "pendleton", used to return nothing even though the rate was here under San Diego. The mapping comes from the USGS Geographic Names Information System, which gives each installation an official name and coordinates, matched to the nearest Census ZIP centroid and then through the DoD's own ZIP crosswalk.
It's checked rather than trusted. Where an installation's name appears in exactly one area name nationally, the right answer is known independently, which gives 192 test cases out of 628 derived. 182 agree. The remaining 10 were checked one by one and are listed in the build, so a new disagreement fails the build rather than slipping through.
Most of those 10 are the test being wrong rather than the derivation: the check can't tell an installation named after a place from one located at it. Fort Sam Houston is in San Antonio. Marine Corps Base Hawaii is on Oahu, in Honolulu County. The check also caught genuine source problems, which is the point of running it: GNIS files Joint Base Lewis-McChord in Morrow County, Oregon, roughly 300km from the actual base, and lists three unrelated historical forts named Fort Moore.
State coverage. The DoD file has no state field, but it has ZIPs, and the Census crosswalk turns a ZIP into a county and a state.
What this site leaves out
39 of the 338 areas are named "county cost group" followed by a number. They are rate bands for counties with no housing area of their own, and each spans between 5 and 21 states. They aren't places, so they get no page. They still resolve through the ZIP lookup, because a real ZIP does land in one and someone still needs their rate.
Installations whose housing area is already named after them get no separate page either. A Fort Knox page beside a "FORT KNOX, KY" page is the same page twice. That leaves 299 area pages and 344 installation pages, each answering something the other can't.
What this site is not
It isn't affiliated with the Department of Defense or any branch of the military, it doesn't determine entitlement, and nothing here is financial or legal advice. Rates can change mid year, and your circumstances can differ from the three inputs above in ways this can't see. Your servicing personnel office is the authority on what you're actually paid.
BAH-ASCII-2026.zip, Defense Travel Management Office, rate year 2026. Includes the 13 May 2026 temporary increase for Abilene/Dyess AFB (TX270).