작성한 프로그래밍 코드를 기계어로 번역해주는 번역기이다.
컴파일러 언어로는 (저수준) C, C++이 있고 인터프리터 언어로는 (고수준) JS, Python이 있다.
장점
- 작성한 코드 전체를 번역하여 파일로 만든 뒤 실행하기에 실행속도가 빠르다.
- 이미 컴파일한 파일을 실행하기에 코드가 유출되지 않아 보안이 좋다.
단점
- 코드를 수정해야하면 수정한 뒤 다시 컴파일을 해야한다.
- 컴파일된 파일전체를 전송하기에 용량이 크다.
장점
- 잘못된 코드가 있으면 바로바로 수정하여 편리하다.
- 코드를 전달하기에 용량이 작다.
단점
- 코드를 실시간으로 번역하고 실행하기에 실행속도가 조금 느리다.
- 코드유출이 될 수도 있어 보안에 취약하다.

위와 같이 hello.exe는 c언어를 컴파일한 파일로 바로 실행이 가능하지만
Hello.java는 바로 실행할 수 없기 때문에 실행을 도와주는 java 인터프리터를 활용하여 파일을 실행한다.