Farsø har en befolkning på 3.410 og et areal på 281 ha. Byen ligger 36 km nord for Viborg og 11 km vest for kommunecenteret Aars. Byen er anlagt på en moræneryg, der hæver sig lidt over omegnens flade engstrækninger og opdyrkede hede.
Den oprindelige landsby lå vest for den lille Farsø Sø. Det var dog den nord-syd-gående landevej Nibe-Hvalpsund øst om søen, hvor også middelalderkirken ligger, og fra 1910 banestrækningen Aars-Hvalpsund med station ved landevejen, der trak bebyggelse til sig i form af klassiske toetagers byhuse langs hovedgaden Søndergade-Nørregade. Fra 1960’erne voksede byen, også efter jernbanens nedlæggelse i 1969, i alle retninger til en ret kompakt by, der dog brydes af byparken omkring søen. Farsøs centrum domineres af det store, overdækkede indkøbscenter fra 1989. Byen er i fortsat vækst, og handelen begunstiges af et betydeligt opland. Den nordlige del af byen rummer foruden et stort, nyere villakvarter også et plejecenter, en afdeling af Aalborg Universitetshospital og et 15.200 m2 solfangeranlæg fra 2016 med tilhørende varmtvandslager. Det ottekantede vandtårn mod nordøst præger byens profil. Mod syd afsluttes byplanen af et erhvervskvarter. Farsø var kommunecenter i Farsø Kommune frem til 2007.