Eine Schnittstellenbeschreibungssprache oder Schnittstellendefinitionssprache ist eine deklarative formale Sprache und beinhaltet eine Sprachsyntax zur Beschreibung von Schnittstellen einer Software-Komponente.
Mit ihrer Hilfe lassen sich Objekte und die auf sie anwendbaren Methoden mitsamt den möglichen Parametern und Datentypen beschreiben, ohne dabei die Eigenschaften einer bestimmten Programmiersprache zu verwenden. Die Schnittstellenbeschreibungssprache dient rein der Beschreibung der Schnittstelle, nicht jedoch der Formulierung von Algorithmen.
Ausgehend von der Schnittstellenbeschreibungssprache kann ein spezieller Compiler die Definitionen in eine bestimmte Programmiersprache und Rechnerarchitektur umsetzen, das so genannte Language Binding.
Eine Schnittstellenbeschreibungssprache findet sich meist in verteilten Systemen, bei denen ein Client auf einem anderen Rechner Methoden ausführen kann (Remote Procedure Call), beispielsweise COM (MIDL), gRPC, CORBA oder Java RMI.