IDL unterstützt Vererbung, Namespaces, Typdefinitionen, Definitionen von Strukturen, Enumerationen, Unions und Exceptions, sowie die Spezifikation von Zugriffsrechten. Übergabeparameter von Funktionen sind immer gerichtet (in, out oder inout).
Ein IDL Compiler, welcher Bestandteil jeder CORBA Distribution ist, erzeugt aus dem IDL Code Programmcode, in einer vom ORB der Distribution unterstützten Programmiersprache. So entsteht mindestens ein ClientStub und ein ObjectSkeleton pro Schnittstelle.