En linguistique historique et en phonétique, l'allongement compensatoire est un changement phonétique au cours duquel une voyelle est allongée à la suite d'une perte de la consonne qui la suit, en général dans la même syllabe.
En anglais, par exemple, lorsque le /x/ originel de night (réalisé [ç] dans l'environnement palatal du /i/) a disparu, le /i/ s'est allongé en /iː/ pour compenser cette disparition. Plus tard, le /iː/ s'est diphtongué à cause du grand changement vocalique, devenant ainsi /aɪ/ en anglais moderne. S'il n'y avait pas eu cet allongement compensatoire, le résultat moderne serait /nɪt/.
En français moderne, le mot île vient du latin classique ī(n)sǔla. Ce mot latin a fini par donner, avant l'an mil, la forme /ˈizlə/[1],[2]. Entre 1000 et 1050 environ[2], le /z/ a disparu devant consonnes (lesquelles étaient sonores, puisque ayant causé une assimilation du /s/ en /z/[2]), et a ainsi causé allongement compensatoire du /i/ qui précède, on obtient donc /ˈiːlə/, qui donnera plus tard en français ile /ˈil(ə)/, à cause de la suppression de la longueur phonémique. Ainsi, en français moderne, on ne retrouve pas cette longueur compensatoire. On peut cependant voir ses effets dans l'anglais moderne isle /aɪ̯l/, où le /aɪ̯/ est issu d'une voyelle longue /iː/ du moyen anglais, qui s'est transformée du fait du grand changement vocalique. L'anglais isle reflète donc la prononciation /ˈiːlə/ importée en anglais à la conquête normande de l’Angleterre et la naissance de l'anglo-normand après 1066[1].
L'effacement du /s/ avant consonne a également causé un allongement compensatoire, mais, lui, durant la seconde moitié du XIIe siècle[2]. Le mot français château, par exemple, renvoie au latin castellu(m) lequel a évolué jusqu'au XIIe siècle en /tʃastɛl/[2]. Celui-ci, lorsque le /s/ sa disparu et allongé le /a/ précédent, a donné /tʃaːtɛl/. Le /aː/ résultant de l'allongement compensatoire du /a/ a par la suite évolué en /ɑ/ en français moderne (noté ‹ â ›) ; cet allongement compensatoire a donc créé des paires minimales en français, comme pâte /pɑt/ et patte /pat/.
En grec ancien, l'allongement compensatoire est un phénomène fréquent. Par exemple, le participe aoriste de γιγνώσκω (connaître) donnera au nominatif masculin singulier γνούς < *γνοντ-ς (ου indiquant à l'origine un ō long). εἰμί (être) < * ἐσμι.