A Nemzetközi Fizikai Diákolimpiára való felkészülést az ország hat nagyvárosában (Budapest, Debrecen, Miskolc, Pécs, Szeged, Székesfehérvár) működő diákolimpiai szakkörök segítik. Ezek minden középiskolás számára nyitott, heti rendszerességű foglalkozások, amelyeken elsősorban elméleti feladatok megoldására kerül sor. Az aktuális szakköri feladatok mindig egy héttel korábban kiosztásra kerülnek, így a diákoknak van idejük és lehetőségük a furfangos, nehéz fizikai problémákon töprengeni. A szakkörökön aktívan résztvevő tanulók otthoni munkával kiegészítve (KöMaL fizika pontversenyeibe való bekapcsolódás, otthoni feladatmegoldás, diákoknak szóló szakirodalom olvasása) nagymértékben fejleszthetik fizikai gondolkodásukat, számolási és problémamegoldási képességeiket. A megszerzett tudás birtokában a szakkörösöknek esélyük nyílik olyan magas színvonalú fizikaversenyeken való sikeres szereplésre, mint az Eötvös-verseny, fizika OKTV és a Kunfalvi Rezső Olimpiai Válogatóverseny.
A diákolimpiai csapat kiválasztása a Kunfalvi Rezső Olimpiai Válogatóversenyen megszerzett pontszám és a nívós hazai fizika-, illetve matematikaversenyeken korábban elért eredmények alapján történik. A Kunfalvi-verseny meghívásos rendszerű: a négy olimpiai szakkörön tavasszal rendezett előválogató versenyeken nyújtott teljesítmények alapján általában 20-25 diák vehet részt rajta. A három napos Kunfalvi-versenyen az olimpiaival megegyező körülmények között kell a diákoknak elméleti és kísérleti feladatokat megoldaniuk, melyek tematikája azonos az IPhO hivatalos tematikájával (Syllabus), tehát nem szorítkozik csupán a magyar gimnáziumi fizika tananyagra. A három nap alatt két fordulóban alakul ki az olimpiára utazók köre. Az első fordulóban az 5 órás elméleti feladatsor és szintén 5 órás mérés alapján kapott pontszámok és az előzetes versenyeredmények figyelembevételével kialakuló, kb. 10 főből álló élmezőny írhatja meg az ugyanilyen szabályok szerint megrendezett második fordulót. Előfordul, hogy a második forduló után sem alakul ki éles határ az első öt helyezett pontszáma és a további helyezettek pontszáma között, ekkor kerül sor egy rövidebb (általában csak elméleti feladatokból álló) harmadik fordulóra.
Az előzetes versenyeredmények súlya változó, általánosságban azonban elmondható, hogy az Eötvös-versenyen vagy fizika OKTV-n az adott tanévben elért első helyezés a Kunfalvi-verseny első fordulójában elérhető összpontszám 10-15%-át éri. Pontot szerezni a következő fizikaversenyeken elért eredményekkel lehet (monoton csökkenő súlyozással): IPhO, Eötvös-verseny, OKTV, EUSO, KöMaL mérési verseny, Szilárd Leó Fizikaverseny. A következő matematika versenyeredmények is érnek pontot (fele annyit, mint a nekik megfelelő fizikaversenyen elért eredmények): IMO, Kürschák-verseny, OKTV. Az 1, 2, 3 évvel korábbi versenyeredmények rendre fele-, negyed-, nyolcadannyi pontot érnek, mint az aktuális tanévben elért eredmények.
A csapat kiválasztása után megkezdődik az intenzív felkészülés az olimpiára. A felkészülés nagyobb egyik része egyéni, otthoni munka: a csapattagoknak ilyenkor van lehetőségük az IPhO hivatalos tematikájában található, még bizonytalan részeket elmélyíteni és a korábbi évek nagy nemzetközi versenyeinek (IPhO, ázsiai diákolimpia - APhO, fizika világbajnokság - WoPhO) feladatsorain gyakorolni.
Az egyéni munka mellett (általában két alkalommal) sor kerül néhány napos közös felkészülésre is, melyek az ELTE-n, a BME-n, vagy ritkábban valamelyik vidéki szakkör tudományegyetemén kapnak helyet. Ezek keretében nehezebb mérések gyakorlására és egyes elméleti témakörök mélyebb tárgyalására van lehetőség. A közös felkészülésen való részvétel a csapattagok minden más programjával szemben prioritást kell élvezzen.
A felkészülés része a több, mint másfél évtizedes múltra visszatekintő Román-Magyar Előolimpia, amelyen minden csapattagnak kötelező a részvétel. Az IPhO-val egyező szabályok szerint zajló, elméleti és kísérleti fordulóból álló verseny évente felváltva Romániában vagy Magyarországon kerül megrendezésre, ami mindig hasznos edzésnek bizonyul a nemzetközi megmérettetés előtt. Az utóbbi években a moldáv csapat is csatlakozott e nívós versenyhez.
Az első diákolimpiát 1967-ben Varsóban tartották, és azóta (néhány korai kivételtől eltekintve) minden évben megrendezik. Az olimpia megrendezésének gondolata már sokkal hamarabb felvetődött, amit leginkább az 1959 óta Nemzetközi Matematikai Diákolimpia sikere inspirált. A fizikai diákolimpiák megszületése három fizika professzor munkájának és összefogásának köszönhető: Czeslaw Scislowski Lengyelországból, Rostitlav Kostial Csehszlovákiából és Kunfalvi Rezső Magyarországról dolgozott az olimpiák létrehozásán. A magyar fizika tehetséggondozás területén végzett kiemelkedő munkájának tiszteletére a hazai diákolimpiai válogatóverseny ma a Kunfalvi Rezső Olimpiai Válogatóverseny nevet viseli.
Az első diákolimpián öt ország (Bulgária, Csehszlovákia, Magyarország Románia, és a rendező Lengyelország) vett részt három-három fős csapatokkal egy csapatvezető kíséretében. Az első diákolimpián négy elméleti és egy kísérleti feladatot kellett a versenyzőknek megoldaniuk. Az új alapszabályzat elfogadására 1984-ben Signutában, a svéd diákolimpia helyszínén került sor. Ekkor dönthetik el a rendező országok, hogy egy nagyobb lélegzetű vagy két rövidebb időt igénylő kísérleti feladatot tűznek-e ki a versenyen a három elméleti probléma mellett. Az alapszabály ekkortól mondja ki, hogy a Nemzetközi Fizikai Diákolimpia legfőbb döntési szerve az úgynevezett Nemzetközi Bizottság, amelynek tagjait a résztevő országok csapatvezetői alkotják, országonként két fővel. A Nemzetközi Fizikai Diákolimpia munkájában immár több, mint nyolcvan ország vesz részt, ezeknek nagyjából a fele még nem rendezett olimpiát (Magyarország kettőt is tartott).
A fizikai diákolimpián két versenynap van (közöttük egy pihenőnap). Az első versenynapon kerül sor az elméleti fordulóra, ahol három feladatot kell a versenyzőknek megoldaniuk, melyek a középiskolákban tanított fizikának legalább négy területét átfogják. A második versenynapon egy vagy két kísérleti feladattal kell a diákoknak megbirkózniuk. Mindkét versenynapon öt óra áll a résztvevők rendelkezésére, mindkét forduló írásbeli. A versenyzők középiskolások lehetnek, felsőfokú tanulmányaikat még nem kezdhetik el a verseny idején. Egy csapat maximum öt diákból állhat, és jellemzően két csapatvezető kíséri el a diákokat a verseny helyszínére. A versenyzők a saját anyanyelvükön oldják meg az írásbeli feladatokat. A diákokat kísérő csapatvezetők feladata, hogy a versenyt megelőző este (gyakran egész éjszaka) elkészítsék a hivatalossá vált feladatok anyanyelvre történő fordítását. A feladatokat a rendező ország javasolja, melyek azután válnak hivatalossá, ha a Nemzetközi Bizottság megtárgyalta, módosította és végül szótöbbséggel megszavazta azokat. A versenyzők dolgozatait a rendezők is és saját csapatvezetőik is kijavítják, majd a pontokat egyeztetik. Minden versenyző pontszáma akkor válik hivatalossá, ha létrejön a megegyezés a rendezők által biztosított értékelők és a csapatvezetők között.
Az érmek kiosztása a pontszámok alapján meghatározott intervallumok alapján történik. A versenyszabályzat korábbi változata szerint az intervallumok határainak számítási módja a következő volt. A legjobb három versenyző pontszámát tekintették 100%-nak. Első díjat (aranyérmet) azok a versenyző kaptak, akik legalább 90%-os eredményt érnek el. A második díjhoz (ezüstérem) 78 és 90% közötti eredmény kellett, míg a 65 és 78% közöttiek harmadik díjat (bronzérem) kaptak. Az 50 és 65% közötti eredményt elért versenyzők dicséretben részesültek.
A jelenleg érvényben lévő szabályzat szerint az érmekhez tartozó ponthatárok meghatározása másképp történik. Aranyérmet a résztvevő diákok pontszám szerinti felső 8%-a kap, aranyat vagy ezüstöt a diákok legjobb 25%-a, érmet a legjobban teljesítő 50% kap, legalább dicséretben pedig a résztvevők 67%-a részesül.