Flawil situas inter Wil SG kaj Sankt-Galo ĉe la sudokcidenta bordo de la rivero Glatt, alfluanto de Turo. La komunumo konsistas el la municipo Flawil kaj la setlejoj Burgau, Egg, Alterswil, Langenentschwil, Grobenentschwil kaj Raaschberg. [1]