compiler is used to convert high-level programming language code into machine language code. (or assembly such as c++, or another language) assembler converts assembly level language code into machine language code.

example: c++

the c++ compiler compiles to assembly, so an assembler is needed to convert it to machine language (an executable)