アセンブリ言語で記述されたプログラムリストを機械語へ変換するソフトウェアのこと。この変換作業はアセンブルと呼ばれる。
アセンブリ言語は、マイクロプロセッサごとに仕様が異なるため、概ねマイクロプロセッサごとに専用のものが用意される。
また同じプロセッサであっても、そのアセンブラのメーカーの違い等により仕様が異なることもある。
組み込み機器やゲーム機のように、その環境で直接開発することが難しい場合、パーソナルコンピュータなどで開発し、その装置向けの機械語を作ることになる。
このように、他のアーキテクチャ向けのアセンブリ言語をアセンブルできるアセンブラを「クロスアセンブラ」という。対してその環境用の機械語を出力するアセンブラを「セルフアセンブラ」という。