Jonschwil es una comuna suiza del cantón de San Galo, ubicada en el distrito de Wil.
Limita al norte con las comunas de Wil y Uzwil, al este con Oberuzwil, al sur con Lütisburg, y al oeste con Kirchberg y Rickenbach (TG).
En la comuna existe una estación ferroviaria situada en la localidad de Schwarzenbach donde efectúan parada trenes de cercanías pertenecientes a la red S-Bahn San Galo.