Tízévesen a Központi Sport- és Ifjúsági Egyesületben (KSI) kezdte labdarúgó-pályafutását. Négy év múlva a Budapesti Közlekedési Vállalat (BKV), a BKV Előre SC ifjúsági csapatában játszott. Játékos képességeit az NB III-ig mutathatta meg. Sikeresnek indult labdarúgó pályafutását térdsérülés miatt, idő előtt befejezte. Az aktív labdarúgást 1989-ben végérvényesen befejezte.
Nemzeti játékvezetés
A játékvezetői vizsgát, 1985-ben a Budapesti Labdarúgó-szövetség (BLSZ) XIV. kerületi Játékvezető Bizottsága (JB) előtt tett. A XIV. kerületi LSZ által üzemeltetett labdarúgó bajnokságokban kezdte sportszolgálatát. A BLSZ JB javaslatára NB III-as, egyben országos utánpótlás bíró. A Magyar Labdarúgó-szövetség MLSZ JB minősítésével 1992-ben NB II-es, 1993-tól az NB I-es játékvezető. 2008-ban beállította Puhl Sándor 225 NB I-es mérkőzés vezetési csúcsát. Az aktív nemzetközi játékvezetéstől 2010-ben a FIFA JB 45 éves korhatárát elérve búcsúzott. NB I-es mérkőzéseinek száma: 270.[1] Mérkőzésvezetési csúcsát Szabó Zsolt2014. szeptember 20-án beállította, majd jelentősen megdöntötte.
1964 óta a falusi labdarúgók kupadöntőjét, a Szabad Föld-kupa döntőjét rendszeresen a Magyar Népköztársasági Kupa döntő előmérkőzéseként bonyolították le. A döntőben való részvételre az az alsóbb osztályú együttes jogosult, amelyik a legmesszebb jutott a Magyar Népköztársasági Kupában.
A Magyar Labdarúgó-szövetség JB terjesztette fel nemzetközi játékvezetőnek, a Nemzetközi Labdarúgó-szövetség (FIFA) 1998-tól tartotta nyilván bírói keretében. Több nemzetek közötti válogatott, valamint Intertotó-kupa és UEFA-kupa klubmérkőzést vezetett, vagy működő társának 4. bíróként segített. Legtöbbször Vámos Tibor asszisztens volt az egyik segítője. A magyar nemzetközi játékvezetők rangsorában, a világbajnokság-Európa-bajnokság sorrendjében többedmagával a 20. helyet foglalja el 1 találkozó szolgálatával. A nemzetközi játékvezetéstől 2007-ben búcsúzott. Válogatott mérkőzéseinek száma: 2.
A Nemzeti Sport szakembereinek osztályzata alapján 2002/2003 bajnoki idényben az Év Játékvezetője kitüntető címet kapta. A tudósítók 1-től 10-ig osztályozzák a bírók teljesítményét. Ebben a szezonban 15 bajnoki mérkőzést vezetett. Az MLSZ JB ellenőreinek osztályzata alapján is az Év Játékvezetője. A 2007/2008 évi értékelések figyelembevételével az MLSZ JB szakembereinek szavazatai alapján ismét az Év Játékvezetője.