Programfag er betegnelsen på fag som er spesielle for utdanningsprogrammet eller programområdet som eleven har valgt. I utdanningsprogram for studiespesialisering må eleven fordype seg i programfag innen eget programområde. Det er bestemte krav til fagvalg. I yrkesfaglige utdanningsprogrammer er programfagene felles for alle elever i samme programområde.