Un assembler è un Programma che trasforma le istruzioni mnemoniche dell'assembly in linguaggio macchina. E' come se fosse un'interprete diretto tra i comandi che scrive l'uomo e i codici che esegue la macchina. il termine ASSEMBLER deriva dal fatto che le istruzioni vengono convertite e montate una affianco all'altra come se fossero in fila.
Molto spesso viene utilizzato impropriamente il termine assembler in riferimento al linguaggio assembly.
Esistono gli assembler per programmare i microcip, per creare programmini sul PC, per quelli sul cellulare, ecc..
Ci sono molti tipi di linguaggi assembly e di conseguenza diversi assemblatori. Questo perchè un'assemblatore produce codice assembly per una specifica famiglia di processori. ( intel 8086, 80386, Motorola 68000, ecc... ) Se un programmatore conosce il linguaggio per un certo tipo di processore, è facile impararne un'altro perchè i linguaggi si differiscono di poco.