FXML signifie FX Markup Language et désigne un langage de balisage basé sur XML, principalement utilisé pour définir l'interface utilisateur (UI) des applications développées avec JavaFX, une boîte à outils GUI moderne pour Java. Il permet de séparer la logique de présentation (l'apparence et la disposition des composants de l'interface tels que les boutons, les champs de texte et les panneaux) de la logique métier de l'application, généralement écrite en Java. Cette séparation des préoccupations rend les applications plus faciles à concevoir, à maintenir et à faire évoluer. Les fichiers FXML décrivent le graphe de scène — la structure et les propriétés des éléments de l'interface — de manière déclarative, à l'instar de la façon dont le HTML décrit les pages web. Les développeurs peuvent définir des mises en page complexes, configurer des propriétés, lier des gestionnaires d'événements et même définir des styles à l'aide de CSS au sein de la structure FXML. Bien que JavaFX soit le contexte principal, la structure sous-jacente est du XML standard, ce qui signifie qu'elle peut être analysée par n'importe quel analyseur XML standard. Il s'agit d'un élément crucial pour la création d'applications de bureau riches et multiplateformes utilisant l'écosystème Java.