A vírusokat többféleképpen lehet csoportosítani. A csoportosítási módok általában egymástól függetlenek, de van, amikor az egyik fajta osztályozásban elfoglalt hely maga után vonja a másik fajta osztályozás egyik kategóriáját. A Java vírusok például mindig fájlvírusok.