Un langage de programmation graphique ou visuel est un langage de programmation dans lequel les programmes sont écrits par assemblage d'éléments graphiques. Sa syntaxe concrète est composée de symboles graphiques et de textes, qui sont disposés spatialement pour former des programmes. De nombreux langages visuels se basent sur les notions «de boîtes et de flèches»: les boîtes (ou d'autres d'objets) sont traitées comme des entités, reliées par des flèches ou des lignes qui représentent des relations.
Plus précisément, un langage est défini par une syntaxe abstraite, à laquelle sont associées une ou plusieurs syntaxes concrètes, parmi lesquelles une ou plusieurs peuvent être graphiques.
Généralement ces langages sont associés à un environnement graphique de programmation. Il n'est pas toujours possible de les dissocier. Il faut également faire la distinction entre le langage au sens "normalisé" et son implémentation au sens "logiciel".
Adobe Authorware, langage auteur apparu chez Macromédia permettant de réaliser des supports multimédias (CD-ROM et bornes tactiles)
Simulink: basé sur MATLAB et orienté sur les systèmes multi-physiques
snapp: environnement pour la création d'applications, basé sur Blockly
Snap!: Amélioration de Scratch avec apports inspirés par Scheme
Synapse, L'éditeur de comportement d'Inscape, un outil d'édition pour créer du contenu de formation et de support aux opérations en RV/RA. Développé par Diginext (CS Group)