Un programme multilangage (également écrit multi-langage) est un programme conçu pour être exécuté ou pour travailler sur du code source provenant de différents langages de programmation. Plus les langages de programmations sont proches et proviennent de la même famille, et plus cela est facile.
Certains programmeurs s'amusent à écrire des programmes valides dans plusieurs langages de programmation (souvent de la même famille) et qui s'exécutent en produisant le même résultat quel que soit le langage choisi pour l'exécuter.
Certains logiciels sont suffisamment génériques pour pouvoir travailler indifféremment sur des codes sources provenant de différents langages. C'est le cas des générateurs de documentation, de CPD (détecteur de copier-coller) ou même de compilateurs tels GCC ou LLVM car les optimisations lors de la phase de compilation sont indépendantes du langage d'origine. Certaines plate-formes peuvent également accueillir plusieurs langages, telles les machines virtuelles Java, .Net ou Parrot (les deux dernières ayant explicitement été prévues en ce sens).