En informatique, la translation de code est une technique d'émulation consistant à traduire (de l'anglais «to translate», traduire) le jeu d'instructions d'une architecture source vers le jeu d'instructions d'une architecture destination.
On distingue deux types de translation de code:
la translation statique, dans ce cas un fichier exécutable de la machine source est intégralement traduit en un fichier exécutable de la machine destination;
la translation dynamique (ou compilation à la volée), dans ce cas les instructions de la machine source sont traduites en instructions de la machine cible au moment même de leur exécution.