Un ensamblador es un programa que convierte el lenguaje ensamblador en código máquina. Toma los comandos y operaciones básicas del código ensamblador y los convierte en código binario que puede ser reconocido por un tipo específico de procesador.
Los ensambladores son similares a los compiladores en el sentido de que producen código ejecutable. Sin embargo, los ensambladores son más simplistas, ya que sólo convierten el código de bajo nivel (lenguaje ensamblador) en código máquina. Como cada lenguaje ensamblador está diseñado para un procesador específico, el ensamblaje de un programa se realiza mediante un simple mapeo uno a uno del código ensamblador al código máquina. Los compiladores, en cambio, deben convertir el código fuente genérico de alto nivel en código máquina para un procesador específico.
La mayoría de los programas se escriben en lenguajes de programación de alto nivel y se compilan directamente a código máquina mediante un compilador. Sin embargo, en algunos casos, el código ensamblador puede utilizarse para personalizar las funciones y garantizar que se comporten de una manera específica. Por ello, los IDEs suelen incluir ensambladores para poder construir programas tanto de lenguajes de alto como de bajo nivel.