UIML (User Interface Markup Language; deutsch: Benutzeroberflächen-Auszeichnungssprache) ist eine Auszeichnungssprache auf Basis von XML, die benutzt wird, um plattformunabhängige Benutzeroberflächen zu gestalten. Dabei soll durch die Einführung einer allgemeinen Beschreibungssyntax dem Modellierer die Möglichkeit gegeben werden, die Struktur, sowie den Style einer Benutzeroberfläche zu definieren. Erst durch anschließende, automatische Transformation dieses Modells der Benutzerschnittstelle wird die konkrete Benutzerschnittstelle erzeugt, welche in einer beliebigen (wenn es einen passenden Mapping-Stylesheet gibt) Programmiersprache beschrieben wird. Momentan werden als konkrete Benutzungsschnittstellen u. a. HTML, VoiceXML und Java Swing unterstützt. XML wird gewöhnlich dazu verwendet, um Dokumente und Daten zu speichern, es kann aber dank der allgemeinen Definition auch für andere Anwendungen genutzt werden.
XML User Interface Language (XUL) bietet ähnliche Funktionen wie UIML und wird von Mozilla u. a. bei dem Browser Mozilla Firefox und dem E-Mail-Programm Mozilla Thunderbird eingesetzt.