Ulfborg har en befolkning på 2.036 og et areal på 190 ha. Byen ligger 21 km sydvest for Holstebro. Herfra er der 4 km til Nissum Fjord og 12 km til Vesterhavet. Det flade og sandede landskab er en del af den store Skovbjerg Bakkeø, en moræneformation fra næstsidste istid. Det er mod vest og nord intensivt drænet og opdyrket, mens det lidt højere terræn mod øst og syd er skovklædt, bl.a. med Ulfborg Plantage.
Ulfborgs byplan er dels bestemt af Den Vestjyske Længdebane, også kaldet Esbjerg-Struer-banen, som har givet en skarp afgrænsning mod øst, dels af dennes spidse skæring med landevejen Holstebro-Ringkøbing. Kilen, hvori også stationen ligger, rummer et parcelhuskvarter fra årene før 2. Verdenskrig. Et større og nyere parcelhuskvarter med stisystem i byens nordvestlige kvadrant afgrænses af Ringvejen, som betjener trafikken mod Vesterhavet. Det rummelige erhvervskvarter sydpå i kilen afspejler industriens faldende betydning, men byens handelsliv nyder godt af det store opland med bl.a. fritidshusområdet Vester Husby. 3 km mod nord ligger Ulfborg Kirkeby, og lige så langt mod sydvest rager den rød- og hvidternede Tvindmølle højt op over grantræerne.