Een interface description language of interface definition language (IDL), vertaald interface beschrijvingstaal, is een computertaal of een eenvoudige syntaxis die de interface naar een software component beschrijft. In essentie is deze taal als het ware de handleiding die beschrijft hoe men een stuk software kan aanspreken vanuit een ander stuk software, op een gelijkwaardige manier als een gebruikershandleiding beschrijft hoe een stuk software moet gebruikt worden door de computergebruiker.
IDL's worden gebruikt in situaties waar beide stukken software niet noodzakelijk op dezelfde manier subroutines aanroepen. Een C programma en een Pascal programma hebben bijvoorbeeld een verschillende manier om routines aan te roepen, en kunnen in het algemeen geen code aanroepen die geschreven is in een andere taal. IDL's voorzien in een algemene taal waaraan beide kunnen voldoen om taalonafhankelijk aanroepen mogelijk te maken.
IDL's worden het meest gebruikt in software die routines op andere machines wil aanroepen door middel van een Remote procedure call (RPC). In deze gevallen kan het gebeuren dat niet alleen de manier waarop routines worden aangeroepen verschilt, maar dat er ook verschillen zijn door de architectuur van de machine zelf.
Er is een IDL terug te vinden in het Distributed Computing Environment (DCE), het Component Object Model (COM), SOM, XPCOM, CORBA, en SOAP voor webservices.
- Dit artikel of een eerdere versie ervan is een (gedeeltelijke) vertaling van het artikel Interface description language op de Engelstalige Wikipedia, dat onder de licentie Creative Commons Naamsvermelding/Gelijk delen valt. Zie de bewerkingsgeschiedenis aldaar.