Ezoterični programski jezik (včasih skrajšano esolang) je programski jezik, namenjen preizkušanju meja zasnove računalniškega programskega jezika, kot dokaz koncepta, kot umetniška programska oprema, kot vmesnik za vdiranje v drug jezik (zlasti funkcijsko programiranje ali proceduralne programske jezike) ali kot šala. Uporaba besede ezoterični jih razlikuje od jezikov, ki jih programerji uporabljajo za pisanje programske opreme. Ustvarjalci večine esolangov jih ne nameravajo uporabljati za glavno programiranje, čeprav so nekatere ezoterične lastnosti, kot je vizualnoprostorska sintaksa, navdihnile praktično uporabo v umetnosti. Takšni jeziki so pogosto priljubljeni med hekerji in ljubitelji.
Uporabnost je redko cilj oblikovalcev ezoteričnih programskih jezikov; pogosto njihova zasnova vodi k nasprotnemu cilju. Njihov običajni cilj je odstraniti ali zamenjati konvencionalne značilnosti jezika, hkrati pa ohraniti jezik, ki je Turingovsko popoln ali celo takšen, za katerega je računski razred neznan.