Le terme Turing-complet[1] désigne en informatique un système formel ayant au moins le pouvoir des machines de Turing.
Un langage de programmation est dit Turing-complet s'il permet de représenter toutes les fonctions calculables au sens de Turing et Church (nonobstant la finitude de la mémoire des ordinateurs). La plupart des langages usuels de programmation (C, C++, Java, ...) sont Turing-complets. Le fait d'être Turing-complet est généralement un critère requis d'un langage de programmation générique, par opposition à un langage dédié au traitement de problèmes spécifiques.