1402-ben Januspanfalva néven említik először. 1410-ben Janospanfalua, 1483-ban Janospanfalwa alakban említik. Eredetileg János ispán falva volt, neve is ebből rövidült a formára. A középkorban nemesi község. A 15. században a falu határában volt Kerekboldogasszonyfalva falu kerek templommal. A falut és a templomot a törökök rombolták le. Helyét ma már csak a Boldogasszonyfája név őrzi. A község első pecsétje a 19. századból való. 1907 óta viseli mai hivatalos nevét, korábban csak Jánosfának nevezték. A település az Őrségi Nemzeti Park része.
Vályi András szerint “Nagy Jánosfa. Elegyes falu Vas Várm. földes Urai több Uraságok, lakosai katolikusok, fekszik Szöcséhez nem meszsze, mellynek filiája, határja szoross, földgye soványas.”
Fényes Elek szerint “Jánosfa, magyar falu, Vas vmegyében: 80 kath. lak. F. u. gr. Batthyáni Zsigmond, s a csákányi urad. tartozik. ”
A Vas vármegye monográfiájában található rövid ismertető szerint “Jánosfa, régi nemesi község, 24 házzal és 129 magyar és vend lakossal. Postája Prosznyákfa, távírója Csákány. Lakosai túlnyomóan ág. ev. vallásúak.”
1910-ben 234 magyar lakosa volt.
1978-ig a községnek önálló általános iskolája volt, területén szakszövetkezet működött. Kultúrházában faluszépítő egyesület, könyvtár, ifjúsági klub működik. 1980-ban megszűnt az őrségi vasútvonal, majd a 2000-ben átadott Bajánsenye–Zalaegerszeg–Ukk–Boba-vasútvonal újra a vérkeringésbe kapcsolta a települést, a Szlovénia, Budapest és Zalaegerszeg felé megnyílt viszonylattal.