Se denomina tiempo de compilación (compile-time en inglés) al intervalo de tiempo en el que un compilador compila código escrito en un lenguaje de programación a una forma de código ejecutable por una máquina.
El compilador normalmente realiza un chequeo de sintaxis, que incluye entre otros un chequeo de tipos y ejecución de reglas de ámbito, seguido de un análisis semántico, que se compone de procesos como el enlazado estático, la instanciación de plantillas y la optimización del código generado.
Este término suele emplearse, en oposición a tiempo de ejecución, para indicar si una acción o hecho sucede en uno u otro tiempo.
El tiempo de compilación no sucede en los lenguajes interpretados debido a que estos no necesitan compilarse.
En dichos lenguajes, ciertas acciones típicas de la compilación como es la comprobación de la sintaxis se realizan antes de comenzar a ejecutar el código, pero no es propiamente una compilación.